是否可以从Windows服务打印PDF文档?

时间:2015-08-11 11:04:33

标签: c# pdf printing windows-services

我想在C#中构建一个Windows服务,它监听MSMQ队列以获取传入的打印命令消息。消息引用PDF文档并包含目标打印机的名称(可能还有一些其他元数据,如要打印的副本数)。该服务应该获取PDF并将其打印在目标打印机上。

问题:是否可以从Windows服务在打印机上打印任意PDF?

补充:

实施不应依赖于Acrobat Reader或任何其他" GUI工具"。 Windows服务运行无头。此外,我希望避免在可能的情况下为每个打印作业启动单独的过程。

1 个答案:

答案 0 :(得分:1)

我使用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();