在asp.net C#中在客户端打印机上打印pdf文件?

时间:2014-02-20 06:45:27

标签: c# asp.net pdf-generation

我的项目中有一个问题,我在弹出窗口中打开一个动态生成的PDF文件,该文件正常工作。但是现在我想在客户端打印机打开popup时直接打印pdf,我该如何解决?

我需要你的帮助。请为我推荐一些代码。

2 个答案:

答案 0 :(得分:5)

您需要使用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();

请注意,您打开的网址必须与当前网页位于同一个网域中才能生效。

答案 1 :(得分:0)

尝试此代码它适合您。

    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();