gpt4 book ai didi

c# - 使用 System.Print 在 "Microsoft Print to PDF"打印机中设置文件名

转载 作者:行者123 更新时间:2023-12-05 07:22:55 33 4
gpt4 key购买 nike

我想保存一个IDocumentPaginatorSource,例如FixedDocumentXpsDocument,使用虚拟打印机“Microsoft Print to PDF”作为 PDF:

var printServer = new System.Printing.PrintServer();
var queue = printServer.GetPrintQueue("Microsoft Print to PDF");
var writer = System.Printing.PrintQueue.CreateXpsDocumentWriter(queue);
writer.Write(Document.DocumentPaginator); // Document = IDocumentPaginatorSource

这有效,但会使打印机打开一个文件保存对话框。我想以编程方式设置文件名,然后完全取消此对话框或至少在对话框中设置初始文件名。这可能吗?

我知道,这可以在使用 System.Drawing.Printing.PrintDocument 时通过设置 PrinterSettings.PrintFileNamePrinterSettings.PrintToFile 来完成(参见 12 ),但这是不支持 IDocumentPaginatorSource 的旧打印框架。

我检查了 System.Printing 命名空间中的所有类,但没有找到任何方法来设置这两个设置。也许可以通过 extending the print schema 将这些设置改造成 PrintTicket ?如果是这样,您具体会怎么做?

最佳答案

我没有使用“Microsoft 打印到 PDF 打印机”的解决方案,但如果您切换到使用 Win2PDF打印机驱动程序,您可以通过注册表以编程方式设置文件名。为此,请参阅 "PDFFileName" or "PDFDefaultFileName" 的文档注册表设置。

关于c# - 使用 System.Print 在 "Microsoft Print to PDF"打印机中设置文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56291023/

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