【发布时间】:2012-11-19 07:49:50
【问题描述】:
我有一个 iframe,需要直接指向 PDF 文件(不是带有 PDF 的页面):
<iframe id="ecard-pdf" name="ecard-pdf" style="position: absolute;" src="/profile.pdf">
</iframe>
我希望能够在这个 iFrame 中打印 PDF
我在其他不符合我需求的问题中找到了几种解决方案:
- 需要在 iframe 中有一个函数( https://stackoverflow.com/a/473270/1246369)
- 建议对焦框架,然后对其执行打印操作( https://stackoverflow.com/a/9616706/1246369)
- 访问 iframe 的 contentWindow 并打印它( https://stackoverflow.com/a/9617566/1246369)
- 这些变化
但是,如果 iframe 的 src 直接指向 PDF 而不是包裹在 PDF 周围的页面,FireFox 和 IE 似乎无法执行此操作。
火狐:
它不打印,而是显示此对话框:“阻止此页面创建其他对话框”,带有“确定”和“取消”按钮,这两个按钮都不打印 PDF。
IE:
忽略我使用上述方法打印的尝试。
问题:
无论用户使用什么浏览器,我怎样才能让用户在 iFrame 中打印 PDF?
【问题讨论】:
-
你可以对抗浏览器,或者你可以创建一个 HTML 包装页面(例如
/printpdf.php?file=/profile.php)并打印该页面。 -
你应该检查这个answer,似乎知道你在 IE 和 Firefox 上做什么。
-
您需要指定pdf是带有src="file://..."的文件
-
@CS_STEM 没有证据表明这是在本地文件系统上,即使是这样,这个问题也已经存在一年了。
-
@QuarK 他去年问过这个问题。
标签: javascript pdf iframe printing