1

レポートを HTML 形式で生成しており、Qt を使用して自動的に印刷したいと考えています (qt には webkit ベースのブラウザーがあり、その内容を PDF ファイルにレンダリングできます)。対象のページ サイズに応じて、レポートの要素を配置したいと考えています。そのためには、用紙のサイズにアクセスする必要があります(できればピクセル単位)。

私は webkit を使用しているので、最新の html5 および css3 機能がすべて含まれています。

javascript内の印刷ページのプロパティにアクセスするために利用できるAPIはありますか? たとえば、window.print_paper.width または window.print_paper.height と書くとよいでしょう。

前もって感謝します

4

4 に答える 4

3

あなたが求めているのは、標準トラックの @page specから逆です。CSS3 ページ付きメディア (@page) でできることは、ドキュメントを印刷する方向とページ サイズを指定することです。現在選択されている方向とページ サイズをシステムに問い合わせることはありません。私の知る限りでは、CSS3 メディア クエリでさえ、これを行うことはできません。

于 2010-11-22T07:17:58.590 に答える
2

不可能です。Javascript は、用紙サイズを検出するためにプリンターにアクセスできません。画面に相対的であるため、ピクセル測定を使用することさえできないため、pt、インチ、センチメートルなどの他の単位を使用する必要があります

于 2010-11-21T13:52:34.853 に答える
2

Accept-Language リクエスト ヘッダーを使用して、ユーザーがLetter-using ロケールいるかどうかを判断します。それ以外の場合は、A4 と想定します。ユーザーに適している場合は、縦長を想定してください。次に、ブラウザーをスニッフィングして余白を推測します (IE9 = = 19.05mm、FF5 = 12.7mm、IE6 = 7.5mm、Chrome = ~10mm)。

于 2011-08-05T04:13:28.420 に答える
0

QWebFrame::contentsSize() を介してコンテンツのサイズを取得し、QWebFrame::addToJavaScriptWindowObject() を使用して、JavaScript の世界で利用できるようにすることができます。

于 2010-12-23T03:46:16.400 に答える