直接从JavaScript打印PDF

直接从JavaScript打印PDF

我正在构建HTML格式的PDF列表。在列表中,我想要包含下载链接和打印按钮/链接。有没有办法在没有用户看到PDF或打开PDF查看器的情况下直接打开PDF的“打印”对话框?

将PDF下载到隐藏的iframe并触发使用JavaScript打印的一些变体?


慕哥9229398
浏览 4126回答 3
3回答

BIG阳

基于以下评论,它不再适用于现代浏览器此问题演示了一种可能对您有所帮助的方法:静默打印嵌入式PDF它使用<embed>标记将PDF嵌入到文档中:<embed &nbsp;&nbsp;&nbsp;&nbsp;type="application/pdf" &nbsp;&nbsp;&nbsp;&nbsp;src="path_to_pdf_document.pdf" &nbsp;&nbsp;&nbsp;&nbsp;id="pdfDocument" &nbsp;&nbsp;&nbsp;&nbsp;width="100%" &nbsp;&nbsp;&nbsp;&nbsp;height="100%"&nbsp;/>然后.print()在加载PDF时在Javascript中调用元素上的方法:function&nbsp;printDocument(documentId)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;doc&nbsp;=&nbsp;document.getElementById(documentId); &nbsp;&nbsp;&nbsp;&nbsp;//Wait&nbsp;until&nbsp;PDF&nbsp;is&nbsp;ready&nbsp;to&nbsp;print&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(typeof&nbsp;doc.print&nbsp;===&nbsp;'undefined')&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTimeout(function(){printDocument(documentId);},&nbsp;1000); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc.print(); &nbsp;&nbsp;&nbsp;&nbsp;}}您可以将嵌入放置在隐藏的iframe中并从那里打印出来,为您提供无缝体验。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript