HTML からドキュメントを生成しています。HTML ページを強制的に 1 ページの長さの印刷ページとしてレンダリングする方法はありますか?
<table>
と<div>
タグを使用してほとんどのページを作成しました。
正確ではありませんが、print-stylesheet を使用できます。
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
フォント サイズ、パディングなどを 'pt' などの物理単位 (スクリーン スタイルシートでは決して使用しないでください!) に設定して、一般的なブラウザーでレンダリングしたときに多かれ少なかれ A4 ページになるようにします。典型的なフォント、次の風。何も保証されていませんが、一般的なケースに合わせて最適化できます。
印刷では、フォント サイズの設定や dpi 設定についてあまり気にする必要はありませんが、ブラウザが使用する余白や実際のページ サイズ (US レターは A4 よりも小さい) を制御することはまだできないため、十分な量を残してください。主要なブラウザーで小刻みに動く部屋とテスト。
いいえ、ユーザーのズーム レベル、プリンター設定、用紙サイズ (ヨーロッパでは A4 用紙を使用していますか、それとも米国では合法ですか?)、および HTML を使用してプリンター出力に影響を与えるその他のさまざまなことをすべて制御することはできません。
HTML でできる最善のことは、非常に単純な「印刷に適した」ページを作成し、コンテンツを短くすることです。または、印刷方法を制御できるように設計された PDF を作成することもできます。
いいえ。ただし、上記のように、印刷メディア専用のCSSファイルを使用すると、印刷ビューをよりスムーズにすることができます。
次に、たとえば、 「page-break-before:always;」を使用して、テーブルが2ページを超えるのを少なくとも防ぐことができます 。。
そして最後に、 「display:none;」を使用することもできます。広告やナビゲーションバーなど、ページ自体を短くするために不要な要素(1ページに十分な長さであることが望ましい)。
ただし、保証はありません。
PDFを使用してください。フォントサイズ、フォントタイプ、その他多くのパラメーターなど、多くのことを強制できますが、ブラウザーは気にしないと判断し、必要なものを使用して、前提条件や決定に違反する可能性があります。HTML はプレゼンテーション言語ではありません (後で繰り返しますが、そうではありません)。
多くの場合、ほとんどうまくいきますが、確実なことは何もありません。
CSS を使用してページのスタイルを設定し、特定の高さ/幅に設定することができます...ここに良いチュートリアルがあります。
もちろん。いくつかの可能性があります。
いいえ、HTML をレンダリングする時点で、プリンターの種類や用紙のサイズがわからない可能性があるため、方法はありません。
私の唯一の提案は、印刷時にコンテンツが 1 ページに収まるようにプリンターのプロパティを設定することです。