5

印刷されるHTMLコンテンツを表示する必要があります。基本的に、ブラウザの印刷プレビュー機能をエミュレートしたいと思います。

HTML / CSS/JavaScriptだけでこれを行う方法がわかりません。私が思いついた唯一の解決策は、HTMLをPDFに変換してページに分割し、そのPDFを画像に変換して、各画像を次々に印刷することです。

誰かがもっと簡単な方法を指摘できれば、それは本当に役に立ちます。これが可能かどうかさえわかりません。

ところで、私はバックエンドでPHPを使用しているので、このためのPHPクラスがある場合は役に立ちます。

表示するためのページサイズは、ユーザーが何を構成したかに関係なく、文字になります

これは、ブラウザでどのように表示されるかを示しています。 代替テキスト

4

4 に答える 4

4

これは不可能だと思います。ブラウザ(javascript)ですべてのユーザーの印刷設定を知ることはできず、サーバー(php、asp、java)で確実に知ることはできません。

アップデート

このように考えてください(まともな100%ソリッドプリントプレビューは不可能であることに注意してください):

  • ユーザーがページに移動し、印刷プレビューを要求します
  • ウェブサイトは印刷プレビューを提供します(できればhtml形式、それ以外の場合はpngまたはpdf)
  • ユーザーが気に入って印刷したい:
    1. ブラウザから
    2. いくつかの画像表示/編集プログラムから(png)
    3. Acrobatから(pdf)
  • すべての印刷ソリューションには、独自の[印刷...]ダイアログがあります。ここで印刷設定を変更できます。

それはあなたが望むすべてが失敗する最後のポイントです...あなたはその時点で(あなたのウェブサイトからの)出力をもう制御することができません...

于 2009-06-04T22:19:34.930 に答える
3

他の人が指摘しているように、これを行うことはできません。私が推奨するのは、プレーンな白い背景とプレーンな黒いテキストだけを含む「印刷に適した」バージョンを作成することです。しかし、これは実際の「印刷プレビュー」に近いものです。

于 2009-06-04T22:31:18.357 に答える
1

簡単な回避策があると思います。

ページサイズと上、下、左、右の余白をユーザーに尋ねることができます。次に、これらの設定を使用してページをPDFでレンダリングします。PDFは、ページが生成されたとおりに印刷されることを保証します。

このアプローチはうまくいくはずだと思います。

于 2010-05-14T21:57:18.150 に答える
1

HTML は実際にはページ レイアウト用ではなく、画面上で読むためのものでした。ブラウザーのページのプレビューが十分でないのはなぜですか?

とにかく、htmlをlatexなどに変換して、サーバー側でpdfまたはpngにレンダリングして表示することができます。しかし、それでは非常に複雑な html レイアウトを使用できなくなります。

于 2009-06-04T22:29:15.520 に答える