11

私は現在IE9とメディアクエリを使用しており、他のブラウザからこれを機能させる必要はありません。

次のような一連のルールを使用してみました。

@page {
    size: auto;
    margin: 10mm 10mm 10mm 10mm;
}

// ...マージンと許容誤差を含むすべてのAフォーマット(A0、A1、A2など)のミリマイターに一致するルール

/* A4 210x297 mm */
@media print and (min-height: 266mm) and (max-height: 288mm) and
    (min-width: 179mm) and (max-width: 201mm) {
    .img_port {
        height: 267mm !important;
    }
}

//..。

動作しているように見えますが、CSSに渡されるサイズの高さと幅の値は、A4形式が常に選択されている場合でも、プリンターに依存しているように見えるため、信頼できません。

私が聞きたいのは、同じ結果を得る他の可能な方法があるかどうかです(用紙サイズに応じて1ページに画像を合わせる)。

前もって感謝します。

4

5 に答える 5

2

The long and short of printing in IE is that you will never be able to accurately control things like this.

Physically, printers have different capabilities when it comes to how much of the page is printable area. Then, you also have to deal with any settings that IE remembers from the last page the user printed such as zoom, margins, pages-per-page, etc.

After struggling with this for years, I have finally given up attempting control of what IE does with print pages and started treating my print stylesheets more like suggestions.

IE < 9 simply does not support page-break or @page in any meaningful way and, in my testing IE9 simply ignores almost all @page rules in favor of whatever settings the user last configured.

To suggest that IE print an image at the full width and full height of the page try the answer Landscape printing from HTML

于 2012-10-03T15:19:13.160 に答える
0

このように聞こえる:のための仕事かもしれませんpage-break

.img_port {
    height: 267mm !important;  /* might also try height: 100%; */
    page-break-after: always;
    page-break-before: always;
    page-break-inside: avoid;
}
于 2012-09-11T16:32:59.603 に答える
0

あなたはいつでもこれを行うことができます:

印刷時に適用するCSSのみを保持する新しいCSSファイルを作成します。

*{display: hidden;}
img{display: block; width: 100%; height: 100%;}

次に、HTMLドキュメントでリンクできます。

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

私は「display:block;」を100%使用しているわけではないので、「block」の他の値を試してみる必要があるかもしれません。私はこれをテストしていませんが、テストした場合は、機能するかどうかをお知らせください。

于 2012-10-18T22:47:22.030 に答える
0

AFAIKを行うための信頼できる方法はありません。
ユーザーがページサイズ/向きを選択し、画像を含む適切なサイズのPDFを生成できるようにします。実際には、高解像度(より大きな)画像を生成して、DPIの印刷を改善し、ページに合わせることができます。

于 2012-10-22T09:22:06.380 に答える
-2

ページブレークを使用すると、空のページが表示されます。

img{
    page-break-inside: avoid;
    padding:0; margin:0; 
    top:0; left:0; right:0;bottom:0;  border:0;
    /*width:2480px; height:3508px!important;*/ /*a4 size */
    width:100%; height:100%; max-width:100% important!
}
.page-break  { display: block; page-break-before: always; }
@page {
size: landscape;
}
@page :first {
  margin-top: 10cm    /* Top margin on first page 10cm */
}
于 2012-09-11T17:48:24.507 に答える