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