3

印刷中に空白のページが表示されます。ボーダー(フレームの場合もあります)が印刷されます。ただし、フレーム内のコンテンツではありません。新しいページを手動で印刷すると、正しく印刷されます。なぜこれが起こるのですか?

var printwindow = window.open('', '', 'fullScreen=no');
printwindow.document.write('<iframe id="docPrint" onLoad="window.print()" width="100%" height="100%" src="http://localhost:8080/hiring/docs/Keneth _1340800082258/Keneth _resume_1340800082258.pdf"></iframe>');
4

4 に答える 4

2

動的に注入しているため、次のようにエスケープ/してみて</iframe>ください。

'.....<\/iframe>'

onloadiframe ではなくウィンドウにも適用:

printwindow.onload = printwindow.print;

代わりにこれを試してください:

var printwindow = window.open('', '', 'fullScreen=no');
printwindow.document.write('<iframe id="docPrint" width="100%" height="100%" src="http://localhost:8080/hiring/docs/Keneth _1340800082258/Keneth _resume_1340800082258.pdf"></iframe>');
printwindow.onload = printwindow.print;

ブラウザがPDFファイルを取得して印刷するかどうかはわかりません。PDFをブラウザで直接開くと、ブラウザのPDFプラグインに個別に印刷オプションがあります。

于 2012-07-11T11:57:59.250 に答える
2

これは JavaScript では不可能です。

あなたのサーバーがどの言語で書かれているかはわかりませんが、PDF の自動印刷を行うことは可能かもしれません。

于 2012-07-11T12:02:54.413 に答える
1

ここでの問題は、iframe の window.print() が、iFrame 内のコンテンツではなく、iFrame を含むウィンドウを参照していることです。

于 2012-07-11T11:59:07.480 に答える