在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
PDF 是由 Adobe Acrobat Reader 創建的可移植文件格式,廣泛用於透過互聯網以數位方式分享資訊。 它保留了數據的格式,並提供設置安全許可和密碼保護等功能。 作為 C# 開發人員,您可能曾遇到需要在您的軟體應用程式中整合 PDF 功能的情況。 從頭開始建構可能是一項耗時且繁瑣的任務。 因此,考慮到應用程式的效能、效果和效率,從頭開始創建新服務或使用預建庫之間的權衡具有顯著意義。
有多種適用於 C# 的 PDF 庫。 在本文中,我們將探討兩個在 C# 中用於閱讀 PDF 文檔的最受歡迎的 PDF 庫。
iText 7,前身為 iText 7 Core,是一個用於在 .NET C# 和 Java 中編寫 PDF 文件的 PDF 庫。 它以開源許可證的形式提供(AGPL)並可為商業應用程式授權。
iText Core 是一個高階 API,提供簡單的方法以各種可能的方式生成和編輯 PDF。 使用 iText 7 Core,您可以拆分、合併、註釋、填寫表單、數位簽名以及對 PDF 文件執行更多操作。 iText 7 提供一個HTML 轉 PDF 轉換器.
了解更多關於IronPDF的信息是一個 .NET 和 .NET Framework C# 及 Java API,用於從 URL、HTML 檔案或 HTML 字串透過 HTML、CSS 和 JavaScript 生成 PDF 檔案。 IronPDF允許您操作現有的PDF文件,如拆分、合併、註解、數位簽名等更多功能。
IronPDF 擁有 50 多項功能來創建、閱讀和編輯 PDF 文件。 當您需要使用 Adobe Acrobat Reader 生成高品質且像素完美的專業 PDF 文件時,它優先考慮速度、易用性和準確性。 該 API 有詳細的文件記錄,並且可以在其上找到許多範例源代碼。程式碼範例頁面.
我們將使用 Visual Studio 2022 IDE 來開始建立應用程式。 Visual Studio 是 C# 開發的官方集成開發環境,您必須安裝它。 您可以從Microsoft Visual Studio 網站如果未安裝。
以下步驟將創建一個名為「DemoApp」的新專案。
打開 Visual Studio,然後點擊「建立新專案」。
選擇「控制台應用程式」並點擊「下一步」。
設定專案名稱。
選擇 .NET 版本。 選擇穩定版本 .NET 6.0。
創建專案後,需要在專案中安裝IronPDF庫才能使用它。 按照以下步驟進行安裝。
從方案總管或工具中打開 NuGet 套件管理器。
瀏覽 IronPDF 庫,然後為當前項目選擇它。 點擊安裝。
在 Program.cs 文件的頂部添加以下命名空間
using IronPdf;
using IronPdf;
Imports IronPdf
一旦專案建立,需在專案中安裝iText 7函式庫以使用它。 按照步驟進行安裝。
從解決方案資源管理器或工具中開啟 NuGet 套件管理員。
瀏覽 iText 7 庫,並選擇它作為當前專案。 點擊安裝。
在 Program.cs 文件的頂部添加以下命名空間
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf
我們將使用以下 PDF 文件來提取文本。 這是一份兩頁的 PDF 文件。
使用 iText 庫開啟 PDF 文件是一個兩步驟的過程。 首先,我們創建一個 PdfReader
對象,並將文件位置作為參數傳遞。 然後,我們使用 PdfDocument
類別來創建一個新的 PDF 文件。 代碼如下:
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
PdfReader pdfReader = new PdfReader("sample.pdf");
PdfDocument pdfDoc = new PdfDocument(pdfReader);
Dim pdfReader As New PdfReader("sample.pdf")
Dim pdfDoc As New PdfDocument(pdfReader)
使用 IronPDF 開啟 PDF 檔案很簡單。 使用 PdfDocument
類別的 FromFile
方法從任何文件位置開啟 PDF。 以下這行代碼打開一個 PDF 文件以讀取數據:
var pdf = PdfDocument.FromFile("sample.pdf");
var pdf = PdfDocument.FromFile("sample.pdf");
Dim pdf = PdfDocument.FromFile("sample.pdf")
在 iText 7 庫中讀取 PDF 數據並不那麼簡單。 我們必須手動遍歷 PDF 文件的每一頁以從每一頁中提取文本。 以下原始碼有助於逐頁從 PDF 文件中提取文字:
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
Console.WriteLine(pageContent);
}
pdfDoc.Close();
pdfReader.Close();
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)
Console.WriteLine(pageContent)
page += 1
Loop
pdfDoc.Close()
pdfReader.Close()
上面的程式碼中有很多事情正在進行。 首先,我們宣告文本提取策略,然後使用 PdfExtractor
類的 GetTextFromPage
方法來讀取文本。 此方法接受兩個參數:第一個是 PDF 文件頁面,第二個是策略。 要獲取 PDF 文件頁面,請使用 PdfDocument
的實例調用 GetPage
方法,並將頁碼作為參數傳遞。 輸出以字串形式返回,然後顯示在控制台輸出屏幕上。 最後,PDFReader
和 PdfDocument
物件被關閉。 另外,請查看以下的代碼範例使用iText7從PDF中提取文本.
就像打開 PDF 文件只需一行代碼一樣,從 PDF 文件中讀取文本也是一行代碼的過程。 PDFDocument
類別提供了 ExtractAllText
方法以從PDF中閱讀整個內容. Console.WriteLine
用來在螢幕上打印文本。 代碼如下:
string text = pdf.ExtractAllText();
Console.WriteLine(text);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
輸出準確無誤。 不過,要使用 ExtractAllText
方法,您需要擁有許可證,因為它僅在生產模式下運行。 您可以從獲取為期30天的試用授權金鑰IronPDF 試用許可頁面.
相比之下,兩個庫在從 PDF 文件中提取文本時都能給出 100% 精確的結果。 在準確性方面,它們是相同的。 然而,IronPDF 在性能和代碼可讀性方面更具效率。
IronPDF 只需兩行代碼即可完成與 iText 相同的任務。 它提供開箱即用的文本提取方法,無需實施任何額外的邏輯。 iText 代碼有些棘手,您必須在開啟 PDF 文件時關閉創建的兩個實例。 然而,IronPDF在任務執行後會自動清除記憶體。
在本文中,我們探討了如何使用iText庫在C#中讀取PDF文件,並將其與IronPDF進行比較。 這兩個函式庫都提供準確的結果,並提供多種 PDF 操作方法。 您可以使用這兩個庫來創建、編輯和讀取PDF文件中的數據。
iText 是開源且免費使用的,但有一些限制。 它可以是授權用於商業用途. IronPDF 也是免費使用的,並且可以具有商業活動許可與提供 30 天免費試用.