.NET库用于打印PDF文件

我在一个可以接受已经创建的PDF文件并直接发送到打印机的库之后。 我不希望用户需要安装Adobe Reader或其他任何东西,应用程序将生成PDF并且我想要打印它。

对不起,我的第一个答案(自删除 – FGITW回答说只是使用iTextSharp )假设它是PDF常见问题解答#1实际上它是PDF FAQ#〜5,mea culpa …

没有系统提供的原生PDF处理,所以除了使用FoxIt或Acrobat之类的应用程序 – 你不应该太快打折 – 使用PDF的人会有一个或另一个,并且会选择他们喜欢哪一个,因为他们并非完全平等,尤其是如果您进入更高级的function及其相关的许可和货币化计划。

不知道任何特定的库来满足这个要求,虽然我上面提到的另一个问题应该有一个很好的答案。 ……研究; 时间过去了… 另一个问题 的答案说PDFSharp应该适合, 样本看起来很简单。

在基于Pdfsharp的FAQ wiki的反思中, iTextSharp具有类似于PDFSharp所产生的TIFF /图像的东西 。

可能或可能不在范围内的替代方案是生成和/或转换为例如XPS文件,其具有内置打印支持(非常确定.NET 3.5,并且可能更早地将其作为客户端中的标准组件)轮廓)。

在这一切中不容错过的一点是Lowagie的书(iText In Action)非常出色,如果你要在阅读,写作或提供PDF表格方面做任何事情,你应该把它放在书架上。 同样,如果你去了FLOSS图书馆路线,必须认真考虑iText。

我不知道有任何免费/开源库可以做到这一点,但在评估了一小部分之后,我选择了cete DynamicPDF Print Manager.NET 。 到目前为止,它在系统资源方面是最有效的,即RAM。 我尝试的其他产品来自Tall Components, Gnostice和BCL EasyPDF SDK 。 与cete的产品相比,所有这些都使用了大量的RAM。 Print Manger具有良好的文档,易于使用。

您也可以从.NET调用gsprint ,这是gsview的一部分,它是GhostScript的FOSS GUI。 我没有走这条路,但也注意到它似乎比动态PDF使用更多的系统资源。 如果您可以将它与软件打包在一起,那么对用户来说它更透明。 我知道它不符合您的标准,但这似乎是唯一可用的免费解决方案。

如果您遇到PDFSharp,请注意它使用Adobe Reader进行打印。

Apache的PDFBox有一个命令行PrintPDF实用程序,您也可以从.NET调用它。 我购买打印管理器后遇到了它,所以我还没有尝试过。

更新:您可以使用Sumatra PDF 从命令行静默打印。 我怀疑它在发送到打印机之前光栅化PDF,但是对于应该工作的较小文件。

我希望这会对某人有所帮助。 在线查看后,我找到了这个很棒的开源库(C#),它对我来说非常适合。

https://github.com/tonyedgecombe/RawPrint

using RawPrint; Printer.PrintFile("Printer Name", @"C:\Path\To\Print\File.prn"); 

祝你好运,

你可以试试PDFView4NET 。 它支持PDF文件的打印和PDF页面到图像的转换。

免责声明:我为开发PDFView4NET的公司工作。

那里有一些商业图书馆。 我举例推荐http://pdfprinting.net 。

PS我为提供该解决方案的公司工作。

免费的PDFiumViewer来自Nuget并具有打印function,请参阅此处的代码示例。

真正易于使用 – 我花了很长时间才找到 – 所以我发布它给搜索“错误”问题的人:

https://stackoverflow.com/a/41751184/586754