是否可以从 Windows 服务打印 PDF 文档?
Is it possible to print a PDF document from a Windows Service?
我想在 C# 中构建一个 Windows 服务,它侦听 MSMQ 队列以获取传入的打印命令消息。消息引用 PDF 文档并包含目标打印机的名称(可能还有一些其他元数据,如要打印的份数)。该服务应获取 PDF 并在目标打印机上打印它。
问题:是否可以通过 Windows 服务在打印机上打印任意 PDF?
补充:
实施不应依赖于 Acrobat Reader 或任何其他 "GUI tool"。 Windows 服务无头运行。此外,我想避免在可能的情况下为每个打印作业启动单独的进程。
我使用 Spire.PDF 库。免费版每个文件有 10 页的限制。无 UI 或 Acrobat 依赖性
https://www.nuget.org/packages/Spire.PDF/
PdfDocument pdfdocument = new PdfDocument();
pdfdocument.LoadFromFile(path);
pdfdocument.PrinterName = printername;
pdfdocument.PrintDocument.PrinterSettings.Copies = copiesNumber;
pdfdocument.PrintDocument.Print();
pdfdocument.Dispose();
我想在 C# 中构建一个 Windows 服务,它侦听 MSMQ 队列以获取传入的打印命令消息。消息引用 PDF 文档并包含目标打印机的名称(可能还有一些其他元数据,如要打印的份数)。该服务应获取 PDF 并在目标打印机上打印它。
问题:是否可以通过 Windows 服务在打印机上打印任意 PDF?
补充:
实施不应依赖于 Acrobat Reader 或任何其他 "GUI tool"。 Windows 服务无头运行。此外,我想避免在可能的情况下为每个打印作业启动单独的进程。
我使用 Spire.PDF 库。免费版每个文件有 10 页的限制。无 UI 或 Acrobat 依赖性
https://www.nuget.org/packages/Spire.PDF/
PdfDocument pdfdocument = new PdfDocument();
pdfdocument.LoadFromFile(path);
pdfdocument.PrinterName = printername;
pdfdocument.PrintDocument.PrinterSettings.Copies = copiesNumber;
pdfdocument.PrintDocument.Print();
pdfdocument.Dispose();