关于生成 PDF 的操作,相信大家的在实际的工作过程中难免会碰到。以前我们通过生成 word 文档来进行文件的打印,但是由于太过依赖 office 软件,因此尝试能不能使用 PDF 进行文件打印。
在整理资料过程中碰到了最麻烦的问题不是文档生成,而是PDF文件的打印问题。
关于 PDF 的组件网上有很多:
1、 功能强大的PDF生成组件,同时又收费版本。
2、
1.可以使用任何.NET编程语言动态创建PDF文档
2.很容易使用对象模型来构建文档 3.全部用C#重写设计和编写代码 4.可以生成PDF文件和显示在窗体或者打印,都使用同一源文件 5.可以修改、合并或者分割PDF文件 6.可以控制图片的透明度,嵌入了字体3、iTextSharp 比较常用的
相当于 Java 版的 ,缺点是没办法打印。
重点说一下对于 PDF 的打印。
在 stackoverflow 上搜索:c# print pdf
方法一:
Process p = new Process( );p.StartInfo = new ProcessStartInfo( ){ CreateNoWindow = true, Verb = "print", FileName = path //put the correct path here};p.Start( );
问题:需要设置默认的PDF阅读软件才可以。
方法二:
有一个 LPR 的组件,需要在控制面板添加应用程序,太麻烦,不推荐使用。
Process.Start("LPR -S printerdnsalias -P raw C:\files\file.pdf");
方法三:
一些第三方组件(都是收费的)
最后有一招管用(Spire.PDF):
有对应的免费版,可以使用。
PdfDocument pdfdocument = new PdfDocument();pdfdocument.LoadFromFile(pdfPathAndFileName);pdfdocument.PrinterName = "My Printer";pdfdocument.PrintDocument.PrinterSettings.Copies = 2;pdfdocument.PrintDocument.Print();pdfdocument.Dispose();