【发布时间】:2014-03-20 22:48:59
【问题描述】:
我的项目中有一个问题,我在弹出窗口中打开了一个动态生成的 PDF 文件,该文件可以正常工作。但是现在我想在客户端打印机上打开弹出窗口时直接打印该pdf,我该如何解决??
我需要你的帮助。请为此建议我一些代码。
【问题讨论】:
标签: c# asp.net pdf-generation
我的项目中有一个问题,我在弹出窗口中打开了一个动态生成的 PDF 文件,该文件可以正常工作。但是现在我想在客户端打印机上打开弹出窗口时直接打印该pdf,我该如何解决??
我需要你的帮助。请为此建议我一些代码。
【问题讨论】:
标签: c# asp.net pdf-generation
您需要使用 javascript 打开弹出窗口并在其上触发 print() 函数。
var opts = 'width=700,height=500,toolbar=0,menubar=0,location=1,status=1,scrollbars=1,resizable=1,left=0,top=0';
var newWindow = window.open(yourUrl,'name',opts);
newWindow.print();
请注意,您打开的网址必须与当前页面位于同一域中才能正常工作。
【讨论】:
试试这个代码,它会为你工作。
Process printjob = new Process();
printjob.StartInfo.FileName = @"D:\R&D\Changes to be made.pdf" //path of your file;
printjob.StartInfo.Verb = "Print";
printjob.StartInfo.CreateNoWindow = true;
printjob.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
PrinterSettings setting = new PrinterSettings();
setting.DefaultPageSettings.Landscape = true;
printjob.Start();
【讨论】: