.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();

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM