使用javascript在客户端打印PDF文件
我想在客户端使用javascript打印pdf文件。我的JavaScript代码如下使用javascript在客户端打印PDF文件
function doit() {
var win = document.getElementById("pdf");
var frm = document.getElementById("pdf").contentWindow;
frm.print();
win.print();
}
的问题是,FRM总是空和胜利没有打印的功能
我的PDF元素如下
<iframe id="pdf" name="pdf" src="C:\My_P.pdf"></iframe>
我打电话从c#的功能如下
ClientScript.RegisterStartupScript(this.GetType(), "Print", "doit();", true);
真的很挣扎。请帮忙
你的问题的解决方案是I帧加载后调用打印功能,您可能不需要使用从服务器调用它RegisterStartupScript
<iframe id="pdf" name="pdf" src="C:\My_P.pdf"
onload="doit();"></iframe>
另一个问题似乎是src路径C:\My_P.pdf
,我期待一个网址显示内容。请参考Iframe
为了减轻这一点,请创建一个目录,例如MyResource在您的asp.net项目中,并将您的PDF复制到此目录并更改src =“/ MyResource/My_P.pdf”。您的pdf应该是浏览器可以访问的,然后只有Iframe可以加载它。
这是否意味着文件必须位于服务器端? – user2837961
是的,它可以位于通过URL访问iframe的任何服务器上。 – Anil
问题是加载到iframe中。我看不到PDF。我在我的Web应用程序\\ WebApplication \ bin \ Temp中创建了一个目录,并将pdf放入Temp目录。它不加载它。打印对话框出现,其底部的aspx链接显示空白 – user2837961
我的框架从客户端加载和函数doit在加载pdf之前被调用。你能看到iframe中的pdf内容吗? – Anil
编号错误是不允许加载本地资源:file:/// C:/_temp/My_P.pdf。我改变了目录,认为我不应该从C: – user2837961