使用更改的默认打印机设置打印PDF
Google / Bing没有为我的以下问题提出任何解决方案,希望有人可以帮助我:
我们必须在基于C#的程序中打印各种PDF文件。 在我们打印之前,我们必须配置打印机,例如将方向设置为横向。
我试图更改默认的打印机设置,例如:
PrinterSettings settings = new PrinterSettings(); settings.PrinterName = "\\\\SomeNetworkPrinter\\"; settings.DefaultPageSettings.Landscape = true; settings.Duplex = Duplex.Horizontal;
我们通过PDFSharp将PDF发送到打印机,这基本上可以正常工作,但我的设置完全被忽略了。 是不是可以通过这种方式更改默认打印机设置? 我们有机会更改设置并打印我们的PDF文件吗?
非常感谢你提前!
不,我认为这不会起作用。
您正在创建一个本地PrinterSettings
对象,该对象可用于配置PrintDocument
,而PrintDocument
又可以使用PrintDocument.Print()
发送到打印机。
如果您正在调用PDFSharp来编排打印,它将使用默认的任何打印机设置,除非您以某种方式通过API将PrinterSettings
传递给PDFSharp?
如果您可以发布用于调用PDFSharp的代码,那么在确定如何执行此操作时会有所帮助。
回答我自己的问题……
经过3天的反复试验,我认为没有机会通过.NET配置打印机并随后打印PDF。 您不能将System.Drawing.Printing.PrintDocument类与PDF结合使用,但使用PrintDocument似乎是更改打印机设置的先决条件。
我的配置打印机的解决方案受到了这篇关于codeplex的post的启发: http : //www.codeproject.com/KB/dotnet/NET_Printer_Library.aspx
为了最终打印pdf,我通过命令行参数将其发送到Adobe Reader。