我正在尝试使用 javascript 在客户端打印 pdf 文件。我的 JavaScript 代码如下
function doit() {
var win = document.getElementById("pdf");
var frm = document.getElementById("pdf").contentWindow;
frm.print();
win.print();
}
问题是frm总是为null,而win没有打印的功能
我的pdf元素如下
<iframe id="pdf" name="pdf" src="C:\My_P.pdf"></iframe>
我正在从 C# 调用该函数,如下所示
ClientScript.RegisterStartupScript(this.GetType(), "Print", "doit();", true);
真的很挣扎。请帮忙
最佳答案
问题的解决方案是在加载 Iframe 后调用打印函数,您可能不需要使用 RegisterStartupScript
从服务器调用它
<iframe id="pdf" name="pdf" src="C:\My_P.pdf"
onload="doit();"></iframe>
另一个问题似乎是 src 路径 C:\My_P.pdf
,我的框架期望一个 url 来显示内容。引用Iframe
为了缓解这种情况,请创建一个目录,例如在您的 asp.net 项目中创建 MyResource 并将您的 pdf 复制到此目录并更改 src="/MyResource/My_P.pdf"。您的 pdf 应该可以被浏览器访问,然后只有 Iframe 可以加载它。
关于javascript - 使用 javascript 在客户端打印 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43182505/