如何使用 javascript 在 embed/iframe 中打印 pdf

发布于 2024-12-05 15:31:43 字数 1073 浏览 0 评论 0原文

又是我。不幸的是我们公司不想购买柔性纸。对我来说不好,我必须找到一种替代方法来打印嵌入标签/ iframe 中的 pdf。

对于我的第一个问题,我有以下代码:

<script>
    function printTrigger(elementId) {
       var getMyFrame = document.getElementById(elementId);
       getMyFrame.focus();
       getMyFrame.contentWindow.print();
    }
</script>

使用 iframe :

<iframe id="mypdf" src="data/sampledocument.pdf" width="60%" style="height:10em"align="right">

当我尝试通过按钮触发 printTrigger 函数时,可以打印 pdf(ie 或 firefox)。我的问题是当我更改 pdf 的 src 属性时,此代码不起作用。 pdf 的来源来自不同的 Web 目录请参阅下面的示例,

<iframe id="mypdf" src="../../ViewPDF.aspx?filetype=r3fileserver&amp;nameoffile=Certificate/2011\2011010000035-preview.pdf" width="60%"
style="height:10em" align="right">

而不是在 iframe 内查看 pdf,浏览器会询问我是否要打开或保存它。有人可以告诉我如何强制 pdf 在 iframe 内查看吗?或者这是不可能的,因为有来自不同的网络目录/pdf 来自 apsx?

对于我的第二个问题,有人可以帮助我在 Firefox 中使用 printWithDialog 的替代代码吗?

非常感谢!

希望收到你们的来信!

Me again. Unluckily our company does not want to buy the flexpaper. Bad for me I have to find an alternative on how to print the pdf inside embed tag / iframe.

For my first question, i have the following code :

<script>
    function printTrigger(elementId) {
       var getMyFrame = document.getElementById(elementId);
       getMyFrame.focus();
       getMyFrame.contentWindow.print();
    }
</script>

with an iframe :

<iframe id="mypdf" src="data/sampledocument.pdf" width="60%" style="height:10em"align="right">

When I try to trigger the printTrigger function thru a button, printing of pdf works (either ie or firefox). My problem is when I change the src property of the pdf this code does not work. the source of the pdf comes from a different web directory see example below

<iframe id="mypdf" src="../../ViewPDF.aspx?filetype=r3fileserver&nameoffile=Certificate/2011\2011010000035-preview.pdf" width="60%"
style="height:10em" align="right">

intead of viewing the pdf inside the iframe, the browser asks if I want to open or save it. Can some please tell me how to force the pdf to view inside the iframe? or this is impossible because there are from different web dir / pdf comes from an apsx?

For my second question can someone please help me the alternative code for printWithDialog that will work in firefox?

so much thanks!

hope to hear from you guys!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮年 2024-12-12 15:31:43

我相信您的问题是浏览器未将资源识别为 PDF,因此您应该将内容类型标头设置为 application/pdf。

I believe your problem is that the browser is not identifying the resource as a PDF so you should set the content type header to application/pdf.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文