繁体   English   中英

在 C# 中更改打印机首选项/驱动程序设置

[英]Change Printer preferences / Driver Settings in C#

我正在尝试在 GrayScale 中打印现有的 XPS 文件。 我尝试在 XPS 文件中添加 PrintTicket,并尝试更改打印机的 PrintQueue 属性,例如:

     LocalPrintServer server = new   LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
      PrintQueue pq = server.GetPrintQueue("MyPrinterName");
      pq.DefaultPrintTicket.OutputColor = OutputColor.Grayscale;
      PrintSystemJobInfo print = pq.AddJob("myPrintJob", "MyFileToPrint.xps",false);

但仍然以彩色打印文件......

因此,我考虑更改驱动程序设置本身中的打印设置,例如:

在此处输入图片说明

在此处输入图片说明

那么,是否可以以编程方式更改此选项?

改变全局状态来解决局部问题通常是一个坏主意。 与作业一起提交打印票应该允许您正在寻找的那种控制。 你有没有尝试过这样的事情?

LocalPrintServer server = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
PrintQueue pq = server.GetPrintQueue("MyPrinterName");
var jobTicket = pq.DefaultPrintTicket;
jobTicket.OutputColor = OutputColor.Grayscale;
PrintSystemJobInfo print = pq.AddJob("myPrintJob", "MyFileToPrint.xps", false, jobTicket);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM