0

Webページの印刷レイアウトを作成したい。すでに1ページのようにデザインされていますが、HTMLとCSSは印刷用ではないため、「デジタル」ページを「実際の印刷可能」ページに合わせる際に問題が発生しました。いくつかのオプションがあることは知ってい@media print and (min-resolution: 72dpi)ますが、すべてのプリンターの解像度を予測できるわけではありません。

だから私の質問:ウェブページまたはウェブページの一部を1つの実際の印刷可能なページに合わせるためのより良い方法はありますか?

編集:私の懸念を明確にするために。Webページのコンテンツを常に1ページに収めたい。私はhtmlの印刷スタイルを設定する方法を知っています;)html/cssがこのために開発されていないことを知っています。しかし、これには何らかの解決策があると思いました。

私が考えた1つの方法は、すべてのコンテンツを保持するPDFを生成してから、PDFページサイズをDINA4または必要なものに「縮小」することです。しかし、それはちょっと気分が悪いです。

4

2 に答える 2

0

次のように、スタイルシート宣言に値「print」を指定してメディア属性を追加することにより、プリンター向けのレイアウト用に別のスタイルシートを作成することをお勧めします。

<link rel="stylesheet" media="screen" href="<?php echo $Root; ?>styles/layout-screen.php" />
<link rel="stylesheet" media="print" href="<?php echo $Root; ?>styles/layout-print.php" />

次に、スタイルシートで、次のように、html 要素とそのフルページ サイズの子のそれぞれに「100%」の幅を指定します。

#html, #body, #wrapper { width:100%; }

もちろん、フローティング div を使用してコンテンツを含めると仮定すると、高さはコンテンツの量によって異なります。私が認識している経験レベルをあなたに与えるべきでしょう。これにより、ユーザーのプリンターの dpi 解像度に関係なく、ページ幅が印刷ページに収まるようになることに注意してください。

于 2012-09-03T07:34:58.697 に答える
0

メディア クエリを使用して、デフォルト スタイルを上書きする印刷専用スタイルを作成できます。

@media print {
    /* Your stylesheet for printers here */
}

または、別のスタイルシートを使用できます。

 <link rel="stylesheet" href="print.css" type="text/css" media="print" />

解像度を予測する必要はありませんが、プリンターがスタイルをオーバーライドできることを覚えておいてください。そのため、厳密なレイアウト (請求書や公式文書など) が必要な場合は、PDF の提供を検討してください。

印刷スタイルの設定に関するこの記事をお勧めします。

于 2012-09-03T08:28:57.433 に答える