.NET 操作PDF文档以及PDF文件打印摸索总结

关于生成 PDF 的操作,相信大家的在实际的工作过程中难免会碰到。以前我们通过生成 word 文档来进行文件的打印,但是由于太过依赖 office 软件,因此尝试能不能使用 PDF 进行文件打印。

在整理资料过程中碰到了最麻烦的问题不是文档生成,而是PDF文件的打印问题。

关于 PDF 的组件网上有很多:

1、Spire.Pdf 功能强大的PDF生成组件,同时又收费版本。

2、PDFsharp

  1.可以使用任何.NET编程语言动态创建PDF文档
  2.很容易使用对象模型来构建文档
  3.全部用C#重写设计和编写代码
  4.可以生成PDF文件和显示在窗体或者打印,都使用同一源文件
  5.可以修改、合并或者分割PDF文件
  6.可以控制图片的透明度,嵌入了字体

3、iTextSharp 比较常用的

  相当于 Java 版的 iText,缺点是没办法打印。

 

 

 

 

重点说一下对于 PDF 的打印。

在 stackoverflow 上搜索:c# print pdf

http://stackoverflow.com/questions/5566186/print-pdf-in-c-sharp

方法一:

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");

 

方法三:

一些第三方组件(都是收费的)

VintaSoftImaging.NET SDK

Total PDF Printer X

RawFilePrinter

福昕软件

 

最后有一招管用(Spire.PDF):

有对应的免费版,可以使用。

https://www.nuget.org/packages/Spire.PDF/

 

PdfDocument pdfdocument = new PdfDocument();
pdfdocument.LoadFromFile(pdfPathAndFileName);
pdfdocument.PrinterName = "My Printer";
pdfdocument.PrintDocument.PrinterSettings.Copies = 2;
pdfdocument.PrintDocument.Print();
pdfdocument.Dispose();

 

 

 

posted @ 2016-08-17 14:21  easeyeah  阅读(6357)  评论(1编辑  收藏  举报