[英].NET library to print PDF files
我正在寻找一个可以接受已经创建的 PDF 文件并将其直接发送到打印机的库。 我不希望用户需要安装 Adobe Reader 或其他任何东西,该应用程序将生成一个 PDF,我想打印它。
抱歉,我的第一个答案(自删除后 - FGITW 回答说只使用iTextSharp )假设它是 PDF FAQ #1,而实际上它是 PDF FAQ #~5,我的罪过...
没有系统提供的原生 PDF 处理,因此除了使用 FoxIt 或 Acrobat 等应用程序(您不应该打折太快)之外,使用 PDF 的人将拥有一个或另一个,并且会选择他们喜欢哪一个因为它们并不完全相同,尤其是如果您了解更高级的功能及其相关的许可和货币化方案。
不知道有任何特定的库可以满足这一要求,尽管我上面链接的另一个问题应该有一个很好的答案。 ... 研究; 时间过去了...... 另一个问题的答案说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 调用它。 我是在购买 Print Manager 后遇到的,所以我还没有尝试过。
更新:您可以使用Sumatra PDF 从命令行静默打印。 我怀疑它会在发送到打印机之前对 PDF 进行光栅化,但对于应该可以工作的较小文件。
我希望这会帮助某人。 在网上查看后,我发现了这个很棒的开源库 (C#),它非常适合我。
https://github.com/tonyedgecombe/RawPrint
using RawPrint;
Printer.PrintFile("Printer Name", @"C:\Path\To\Print\File.prn");
祝你好运,
我创建了一个名为 PDFFilePrint 的小型 .Net 4.0 库,您可以通过 nuget 包管理器获取它,也可以在 nuget 包管理器控制台中调用“install-package PDFFilePrint”。 这是包的链接。
那里有一些商业图书馆。 例如,我会推荐http://pdfprinting.net 。
PS 我为提供该解决方案的公司工作。
免费的 PDFiumViewer 来自 Nuget 并具有打印功能,请参阅此处的代码示例。
真的很容易使用——不过我花了很长时间才找到——所以我把它发布给搜索“错误”问题的人:
你可以试试PDFView4NET 。 它支持打印 PDF 文件和将 PDF 页面转换为图像。
免责声明:我为开发 PDFView4NET 的公司工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.