在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在今天的數位時代, 可攜式文件格式 (PDF) 文件由於其平臺無關的特性和一致的格式,已成為文件交換的標準。iTextSharp 函式庫成為了與 PDF 無縫互動的強大函式庫,適用於使用 C# 開發的開發者。在本文中,我們將學習使用 iTextSharp 讀取 PDF 文件的過程 iTextSharp 在 C# 中,探索關鍵步驟並提供全面的指南,幫助您釋放這個多功能庫的潛力。
打開或創建 Visual Studio 專案。
安裝 iTextSharp 庫。
添加必要的命名空間。
選擇要讀取的 PDF 文件。
建立 PDF 閱讀器實例。
建立 PDF 文件實例。
遍歷文檔的每一頁以提取文本。
iText 7前身為iTextSharp,是一個強大且多功能的Java和.NET庫,用於創建、處理和提取PDF文件中的內容。它提供了全面的功能集,包括文本和圖像處理、表單填寫、數位簽名和水印。不管是生成發票、報告,還是互動表單,iText 7都能讓開發人員高效地處理PDF文件。
讓我們討論一些在 C# 中讀取 PDF 檔案的例子。要開始,您需要將 iTextSharp 庫添加到您的專案中。
打開您的 C# 專案,使用 Visual Studio。在頂部菜單中,轉到「查看」,然後選擇「套件管理器控制台」。這將在 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"。
if (檔案.存在(文件名稱)) 條件會檢查指定的文件是否存在。如果文件存在,則執行後續的代碼塊。
在 if 區塊裡,它使用 PdfReader 對象打開 PDF 文件。然後,使用 PdfReader 創建一個 PdfDocument 文件實例。for 循環遍歷 PDF 文件的每一頁。
對於每個PDF頁面,它使用PdfTextExtractor類的GetTextFromPage提取文本内容。(pdfDocument.GetPage(頁面))** 方法。提取的文字最初以預設編碼進行編碼。
然後,使用 Encoding.UTF8.GetString 將文字從預設編碼轉換為 UTF-8。(ASCIIEncoding.Convert(Encoding.Default,Encoding.UTF8,Encoding.Default.GetBytes(當前文本))). 然後將轉換後的文字附加到文本字符串。
最後,使用 Console.WriteLine 列印累積的文本()** 方法。
提取的 PDF 文本輸出如下:
這樣我們就可以讀取 PDF 文件的內容。這個方法較為複雜且因創建了多個實例,效率較低。我們來探索另一種更易用且效率更高的方法。
IronPDF 是一個多功能且高效能的 C# 程式庫,旨在簡化和加強 創建, 操作,和 渲染 在 .NET 應用程式中處理 PDF 文件。IronPDF 使開發人員能夠輕鬆地將 PDF 相關功能整合到他們的專案中,專注於易用性和豐富的功能特性。該庫支持廣泛的 PDF 操作,包括從頭開始創建 PDF 文件、轉換 PDF 文件等。 將HTML內容轉換成PDF,和 提取文字和圖像 從現有的PDF文件中。IronPDF的直覺API為開發人員提供了便捷的體驗,讓他們能夠輕鬆生成動態和交互式PDF。無論是添加浮水印、註釋,還是加密文件,IronPDF都能使開發人員根據他們的特定需求定制PDF。作為一個可靠的解決方案,IronPDF在從報告生成、文件管理到Web開發的應用中,發揮了重要作用,提供了一整套全面的工具來簡化.NET環境中的PDF相關任務。
使用以下指令透過 NuGet 套件管理器主控台將 IronPDF 下載至您的專案。
Install-Package IronPdf
此指令將會下載並安裝 IronPDF NuGet 套件將其依賴項一起添加到您的項目中。
在 NuGet 的瀏覽標籤中,搜尋 "IronPDF" 程式庫並點擊安裝。
現在,讓我們使用 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 語句確保了資源的正確釋放。一個名為 PDF 的 PdfDocument 對象通過使用 PdfDocument.FromFile 方法從路徑 "D:/What_is_pdf.pdf" 加載 PDF 文件來創建。
for 迴圈遍歷所加載 PDF 文檔的每一頁。對於每頁 (由索引編索引),它使用 pdf.ExtractTextFromPage 提取文本內容。(索引)。提取的文本通過sb.Append附加到StringBuilder中。().**
最後,使用 sb.ToString 將累積的文字轉換為單一字串()整個提取的文字使用 Console.WriteLine 打印到控制台()** 方法。
總之,使用C#處理PDF需要理解一些基本元素,如位元組陣列、文件信息字典、交叉引用表、新檔案實例和靜態位元組。第一段使用iTextSharp的代碼展示了一個功能性的做法,而第二段使用IronPDF提供了一個更簡單且更高效的方法。 IronPDF易於使用的 API 簡化了涉及交叉引用表、頁面字典和間接引用的任務。無論是處理文檔信息中的交叉引用還是安全 PDF 的私鑰方面,IronPDF 都是一個多功能的解決方案。
尋求探索的開發人員 IronPDF. 客戶滿意度是 IronPDF 提供的核心,確保開發者在他們的 PDF 相關任務中找到價值和效率,使其成為尋求可靠且功能豐富的 PDF 庫的人的一個引人注目的選擇。
如需了解更多如何使用 IronPDF,請參考此 文檔 連結