在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在今天的數位時代,可攜式文件格式 (PDF)文件因其平臺獨立性和一致的格式而成為文件交換的標準。 iTextSharp 庫作為一個強大的庫出現,無縫地與 PDF 進行交互,適用於使用 C# 的開發人員。 在本文中,我們將學習如何使用讀取 PDF 文件的過程。iTextSharp在 C# 中,探索關鍵步驟並提供全面的指南,幫助您釋放這個多功能庫的潛力。
打開或創建一個Visual Studio專案。
安裝 iTextSharp 函式庫。
添加必要的命名空間。
選擇要讀取的 PDF 文件。
建立 PDF 讀取器的實例。
建立 PDF 文件的實例。
遍歷文檔的每一頁以提取文本。
iText 7前稱 iTextSharp,是一個強大且多功能的 Java 和 .NET 庫,用於創建、操作和提取 PDF 文件中的內容。 它提供了一套完整的功能,包括文本和圖像處理、表單填寫、數位簽名和浮水印。 無論您是在生成發票、報告,還是互動表格,iText 7 都能讓開發人員高效處理PDF文件。
讓我們討論一些在 C# 中讀取 PDF 檔案的例子。 要開始,您需要將 iTextSharp 庫添加到您的專案中。
使用 Visual Studio 開啟你的 C# 專案。 在頂部選單中,轉到「檢視」,然後選擇「套件管理器主控台」。這將在 Visual Studio 視窗的底部打開套件管理器主控台。
在套件管理器主控台中,確保「預設專案」下拉選單設定為您想安裝 iTextSharp 套件的專案。
運行以下命令以安裝iTextSharp庫:
Install-Package itext7
此命令從 NuGet 封裝庫中提取最新版本的 iTextSharp 並將其安裝到您的專案中。 等待安裝過程完成。 套件管理器主控台將顯示關於安裝進度的資訊。
我將使用以下 PDF 文件作為此示例的輸入。
在開始之前,添加以下命名空間:
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports System.Text
以下程式碼將讀取上述的 PDF 文件,提取內容,並將提取的內容列印到控制台。
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
Public Shared Sub Main(ByVal args() As String)
Dim text As New StringBuilder()
Dim fileName As String = "D:/What_is_pdf.pdf"
If File.Exists(fileName) Then
Using pdfReader As New PdfReader(fileName)
Using pdfDocument As New PdfDocument(pdfReader)
Dim page As Integer = 1
Do While page <= pdfDocument.GetNumberOfPages()
Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page))
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)))
text.Append(currentText)
page += 1
Loop
End Using
End Using
End If
Console.WriteLine(text.ToString())
End Sub
上述源代碼讀取一個PDF文件,從每頁提取文字,將其轉換為UTF-8,然後將整個文本內容打印到控制台。 這是一個使用 iTextSharp 程式庫在 C# 中從 PDF 檔案中提取文字的基本範例。
程式碼首先宣告一個名為 text 的 StringBuilder,用於累積從 PDF 中提取的文字。 它還定義了一個字串變數 fileName,用於指定文件位置的路徑。 在這種情況下,PDF 文件位於 "D:/What_is_pdf.pdf"。
如果(File.Exists(文件名稱)) 條件會檢查指定的檔案是否存在。 如果檔案存在,則執行隨後的程式碼塊。
在 if 區塊內,它使用 PdfReader 物件開啟 PDF 檔案。 然後,使用 PdfReader 創建一個 PdfDocument 文件實例。 for 迴圈迭代遍歷 PDF 文件的每一頁。
對於每個 PDF 頁面,它使用 PdfTextExtractor 類的 GetTextFromPage 提取文本內容。(pdfDocument.GetPage(頁面))** 方法。 提取的文字最初以預設編碼進行編碼。
然後使用 Encoding.UTF8.GetString 將文本從預設編碼轉換為 UTF-8。(ASCIIEncoding.Convert(編碼.Default, 編碼.UTF8, 編碼.Default.GetBytes(當前文本))). 轉換後的文字將附加到文字字串中。
最後,使用 Console.WriteLine 列印累積的文字。()** 方法。
提取的 PDF 文本輸出如下:
這樣一來,我們就可以讀取 PDF 文件的內容。由於會創建多個實例,這種方法較為複雜且效率較低。 讓我們來探索一種更加用戶友好且高效的替代方法。
IronPDF 功能與優勢是一個多功能且高效能的 C# 程式庫,旨在簡化和加強以程式自動建立PDF文件, 編輯PDFs,和渲染 PDF 文件在 .NET 應用程式中。 IronPDF 讓開發人員能輕鬆地將 PDF 相關功能無縫整合到他們的專案中,專注於易用性和豐富的功能特性。 該程式庫支持多種PDF操作,包括從頭開始創建PDF文件、轉換PDF文檔等。將HTML內容轉換成PDF,和從 PDF 中提取文本和圖像從現有的 PDF 文件中。 IronPDF的直觀API為開發人員提供了友好的使用體驗,使他們能夠輕鬆生成動態和互動的PDF。 無論是添加水印、註釋,還是加密文件,IronPDF 都能讓開發者根據其具體需求自訂 PDF。 作為一個可靠的解決方案,IronPDF 在從報告生成和文檔管理到 Web 開發的應用中發揮了重要作用,提供了一整套工具來簡化 .NET 環境中與 PDF 相關的任務。
使用以下命令透過 NuGet 套件管理器主控台將 IronPDF 下載到您的專案中。
Install-Package IronPdf
此指令將會下載並安裝IronPDF NuGet 套件以及其依賴項整合到您的專案中。
在 NuGet 的瀏覽標籤中,搜尋 "IronPDF" 程式庫並點擊安裝。
現在,我們使用閱讀相同的 PDF 文件IronPDF 全面指南. 以下程式碼將從輸入的 PDF 文件中提取文本。
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim pdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
Dim text As String = pdfDocument.ExtractAllText()
Console.WriteLine(text)
End Sub
上述代碼讀取名為 "What_is_pdf.pdf" 的 PDF 文件,提取其所有文本內容,並在控制台顯示提取的文本。
程式碼首先從名為 "What_is_pdf.pdf" 的檔案中載入 PDF 文件。 它使用 PdfDocument.FromFile()從指定的文件創建PdfDocument對象的方法。
接下來,它會從載入的 PDF 文件中提取所有文字內容。 pdfDocument.ExtractAllText()方法將 PDF 中的所有文字作為單一字符串返回。
最後,提取的文本被存儲在 text 變量中。 此代碼使用 Console.WriteLine 將提取的文本打印到控制台。(文字)** 方法。
IronPDF 也提供了一種逐頁從 PDF 文件中提取文字的方法。
以下代碼將使用 IronPDF 一頁一頁地讀取 PDF 文件。
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim sb As New StringBuilder()
Using pdf As PdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
For index As Integer = 0 To pdf.PageCount - 1
sb.Append(pdf.ExtractTextFromPage(index))
Next index
Console.WriteLine(sb.ToString())
End Using
End Sub
上面的程式碼讀取名為「What_is_pdf.pdf」的 PDF 檔案,從每一頁提取文本內容,並將合併的文本輸出到控制臺。
一個名為 sb 的 StringBuilder 被創建以累積從 PDF 提取的文本。 using 語句確保資源的正確處置。 使用 PdfDocument.FromFile 方法從路徑 "D:/What_is_pdf.pdf" 加載 PDF 檔案,創建一個名為 PDF 的 PdfDocument 對象。
for 迴圈遍歷加載的 PDF 文件的每一頁。 每頁(由索引編索引),它使用 pdf.ExtractTextFromPage 提取文本內容。(索引). 提取的文字使用 sb.Append 附加到 StringBuilder。().
最後,累積的文字使用 sb.ToString 轉換為單一字串。(). 整個提取的文本使用 Console.WriteLine 輸出到控制台()** 方法。
總之,使用 C# 處理 PDF 涉及到理解一些基本要素,如位元組陣列、文檔信息字典、交叉引用表、新的文件實例和靜態位元組。 第一個使用 iTextSharp 的代碼展示了一種功能性的方法,而第二個使用 IronPDF 的方法則提供了一種更簡單且更高效的方法。 IronPDF易於使用的 API 簡化了涉及交叉引用表、頁面字典和間接引用的任務。 無論是處理文件資訊中的僅 xref 還是用於安全 PDF 的私鑰方面,IronPDF 都是一個多功能的解決方案。
開發人員尋求探索IronPDF Licensing Information. IronPDF 的產品提供以客戶滿意度為首要任務,確保開發者在 PDF 相關任務中找到價值和效率,使其成為尋求可靠且功能豐富的 PDF 庫的人的引人注目的選擇。
如需了解有關如何使用IronPDF的更多信息,請參閱此內容。IronPDF 文件檔案連結