私は過去1日かそこらを費やしていましたので、誰かが答えが必要な場合に備えて私の解決策を投稿したかったのです。
ここでは、私がしたことがあります。
- 生成される出力として通常の(ないプリンタ意図)
- 作成2枚のスタイルシート(プリンタのための1つ、及び画面に対して1つ)。測定値はすべてのページ要素が印刷出力に変わるためのインチ単位(ピクセルではない)です。 jQueryのを使用して
- 、私は次のようでした:
- > DOMへの最初のページを追加し機能と呼ばれる - この
// assumes old_page_id is existing element in DOM, and var page_id = 1;
$j("<div class='page' id='" + page_id + "'><div class='print_area'></div></div>")
.insertAfter('#' + old_page_id);
のようなもの - のページでDIVの>測定高さ(中私の場合、$( 'ページ')の高さ();)
- >のdivと新しいページの挿入を行うための機能を走った - この
$('div_class').each(
function() {
// measure height of $(this)
// add it to running total of used space on existing page
// if sum total exceeds remaining space, create new page, and add to that one
// if still room left, add to this one
}
);
のようなものを。
注プリンタのスタイルシートで(私の場合、クラス=「ページ」内)の各ページのdiv要素は、この持っている:
改ページ - 後:常に;
これは私が望んでいたプリンタで新しいページを作成するためにそれを得た方法です。
上記jQueryの機能を実行した後、私は私が印刷されたページに移動したかったのdiv要素が含まれて元のセクションを隠しました。私のjQueryの測定が有効な結果を生成しないので、私は手の前に、このセクションを隠すことができなかった注意してください(私の場合、私は「hide_me」のidを持つdivのラッパー内のすべてのdivを配置し、高さにスタイルを設定する:1ピクセル;オーバーフロー:自動;)。
私はこれが非常に50,000フィートの視野であることを理解していますが、うまくいけばそれはあなたにとって有益です。
この質問はさまざまな形で何度も質問され、回答済みです。ここに一つの例があります:http://stackoverflow.com/questions/4760899/page-break-beforeauto-not-working-for-me-why/ – mVChr
ええ - もう1つは、すでに、私の質問には本当に答えていない、その一歩です。ありがとう。 – OneNerd