在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
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,用於從 HTML、CSS 和 JavaScript 生成 PDF 文件,可以從 URL、HTML 文件或 HTML 字串生成。 IronPDF允許您操作現有的PDF文件,如拆分、合併、註解、數位簽名等更多功能。
IronPDF 擁有 50 多項功能來創建、閱讀和編輯 PDF 文件。 當您需要使用 Adobe Acrobat Reader 生成高品質且像素完美的專業 PDF 文件時,它優先考慮速度、易用性和準確性。 API 擁有完善的文件,並且可以在其代碼範例頁面上找到許多範例源代碼。
我們將使用 Visual Studio 2022 IDE 來開始建立應用程式。 Visual Studio 是 C# 開發的官方集成開發環境,您必須安裝它。 如果未安裝,您可以從Microsoft Visual Studio 網站下載。
以下步驟將創建一個名為「DemoApp」的新專案。
打開 Visual Studio,然後點擊「建立新專案」。
Itext7 在 C# 中讀取 PDF 的替代方案(VS IronPDF)圖 1 - 新專案
選擇「控制台應用程式」並點擊「下一步」。
設定專案名稱。
選擇 .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
方法,您需要持有许可证,因為它僅在生產模式下運作。 您可以從IronPDF 試用授權頁面獲取有效期30天的試用授權密鑰。
相比之下,兩個庫在從 PDF 文件中提取文本時都能給出 100% 精確的結果。 在準確性方面,它們是相同的。 然而,IronPDF 在性能和代碼可讀性方面更具效率。
IronPDF 只需兩行代碼即可完成與 iText 相同的任務。 它提供開箱即用的文本提取方法,無需實施任何額外的邏輯。 iText 代碼有些棘手,您必須在開啟 PDF 文件時關閉創建的兩個實例。 然而,IronPDF在任務執行後會自動清除記憶體。
在本文中,我們探討了如何使用iText庫在C#中讀取PDF文件,並將其與IronPDF進行比較。 這兩個函式庫都提供準確的結果,並提供多種 PDF 操作方法。 您可以使用這兩個庫來創建、編輯和讀取PDF文件中的數據。
iText 是開源且免費使用的,但有一些限制。 它可以獲得商業使用授權。 IronPDF 也可以免費使用,並且可以取得商業活動授權,提供30 天免費試用。