gpt4 book ai didi

c# - 以编程方式将 XPS 文件打印到物理打印机

转载 作者:行者123 更新时间:2023-11-30 21:39:12 27 4
gpt4 key购买 nike

我有一个 C# WinForms 应用程序。用户上传一个 .XPS 文件并指定一些打印机设置(份数、纸盒等)。该程序需要以编程方式打印具有这些设置的文档。即,不能有要打印的用户交互。

我可以接近 System.Printing AddJob 方法。 (https://learn.microsoft.com/en-us/dotnet/framework/wpf/advanced/how-to-programmatically-print-xps-files)。但是,我不能在这里定义具体的设置,比如纸张来源、份数等。

我更愿意使用 PrintDocument 方法,但我不知道如何让 PrintDocument 呈现/打印 XPS 文档。

我看过这个资源,https://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.printpage(v=vs.110).aspx ,但看不到如何让 PrintPageEventHandler 呈现 XPS 文档。

关于我如何继续的任何想法?将不胜感激!

C#.NET 4.5

更新:

根据以下答案,我可以在添加作业时发送 PrintTicket,如下所示:

 PrintTicket pt = printQueue.DefaultPrintTicket;
pt.CopyCount = 2;
// pt.InputBin = [ InputBin enum option ]
printQueue.AddJob("name", "file", false, pt);

我看不到任何简单的方法来为 PrintTicket 设置 InputBin。 InputBin 是一个枚举,没有仅设置为可用 bin 之一的名称的选项。

最佳答案

使用 AddJob 是正确的,但是您需要 version that accepts a PrintTicket .您将需要使用用户的设置创建一个新的 PrintTicket - 任何设置为 null 的值最终都将使用为该 PrintQueue 设置的默认值。

关于c# - 以编程方式将 XPS 文件打印到物理打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45311910/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com