在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
PDF (可攜式文件格式) PDF是一種廣泛使用的文件格式,能夠一致且安全地分享文件。在C#中閱讀和操作這種文件是各種應用程式中的常見需求,例如文件管理系統、報告工具等。在本文中,我們將比較兩個用於閱讀PDF文件的熱門庫:IronPDF和iTextSharp (最新的 .NET 函式庫 iText).
IronPDF 是一個來自Iron Software的綜合C#函式庫 Iron Software 提供廣泛的功能來處理 PDF 檔案。它允許開發人員無縫地創建、編輯和操作 PDF 文件。 IronPDF 以其簡單易用著稱,是需要快速將 PDF 功能整合到應用程式中的開發人員的絕佳選擇。
iTextSharp 是另一個在 C# 中處理 PDF 檔案的流行庫。它已經存在一段時間,並在業界廣泛使用。iText 提供了豐富的功能集,用於創建和操作 PDF 文檔。它以其靈活性和可擴展性而聞名,非常適合處理複雜的 PDF 相關任務。
在 Visual Studio 創建一個新的 C# 專案,以比較 IronPDF 與 iTextSharp 來閱讀 PDF 檔案。
在專案中安裝 IronPDF 和 iTextSharp 函式庫。
使用 IronPDF 閱讀 PDF 檔案。
Visual Studio: 確保您已安裝 Visual Studio 或任何其他 C# 的開發環境。
首先設置一個 C# 控制台應用程序。打開 Visual Studio 並選擇創建一個新項目。選擇控制台應用程序類型。
提供專案名稱如下。
選擇專案所需的 .NET 版本。
完成此操作後,Visual Studio 將生成一個新項目。
iTextSharp 可以從 NuGet 套件管理器。最新版本可作為iText套件使用。
或者從 Visual Studio 套件管理器安裝,如下所示。 在套件管理器中搜尋 iText 並點擊安裝。
或者從Visual Studio套件管理器中按照下圖所示操作。搜索 IronPDF 在包管理器中點擊安裝。
將以下代碼添加到 program.cs 文件中,並提供一個包含以下內容的範例 PDF 文件。
using IronPdf;
Console.WriteLine("Comparison of IronPDF And itextsharp Read PDF Files in C#");
// pdfreader reader
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
public static void Read()
{
// read from specific location
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
var pdfReader = PdfDocument.FromFile(filename);
// Get all text to put in a search index using new simpletextextractionstrategy
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
var allIMages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images={allIMages.Count()}");
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine("------------------one Page Text From PDF page-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string Text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine(Text);
}
}
}
using IronPdf;
Console.WriteLine("Comparison of IronPDF And itextsharp Read PDF Files in C#");
// pdfreader reader
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
public static void Read()
{
// read from specific location
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
var pdfReader = PdfDocument.FromFile(filename);
// Get all text to put in a search index using new simpletextextractionstrategy
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
var allIMages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images={allIMages.Count()}");
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine("------------------one Page Text From PDF page-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string Text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine(Text);
}
}
}
Imports IronPdf
Console.WriteLine("Comparison of IronPDF And itextsharp Read PDF Files in C#")
' pdfreader reader
ReadUsingIronPDF.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingIronPDF
'{
' public static void Read()
' {
' ' read from specific location
' string filename = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
' var pdfReader = PdfDocument.FromFile(filename);
' ' Get all text to put in a search index using new simpletextextractionstrategy
' var allText = pdfReader.ExtractAllText();
' Console.WriteLine("------------------Text From PDF-----------------");
' Console.WriteLine(allText);
' Console.WriteLine("------------------Text From PDF-----------------");
' var allIMages = pdfReader.ExtractAllImages();
' Console.WriteLine("------------------Image Count From PDF-----------------");
' Console.WriteLine(string.Format("Total Images={0}", allIMages.Count()));
' Console.WriteLine("------------------Image Count From PDF-----------------");
' Console.WriteLine("------------------one Page Text From PDF page-----------------");
' var pageCount = pdfReader.PageCount;
' for (int page = 0; page < pageCount; page++)
' {
' string Text = pdfReader.ExtractTextFromPage(page);
' Console.WriteLine(Text);
' }
' }
'}
要創建文字PDF,請創建一個Word文件,將上述文字添加到Word文件中,並將其另存為名為Example.pdf的PDF文件。
在代碼中,我們從PDF文件路徑創建一個PDFReader並提取所有文本
可以使用ExtractImages方法提取PDF中的圖像
現在,要比較從 iTextSharp 讀取的文本,請將以下代碼添加到相同的 program.cs 文件中。為了簡化,我們沒有將類分成不同的文件。
using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
Console.WriteLine("Comparison of IronPDF And Itextsharp Read PDF Files in C#");
//ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
public static void Read()
{
string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF reader
PdfReader pdfReader = new PdfReader(pdfFile);
iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
// Extract plain text from the PDF
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
// Display or manipulate the extracted text as needed
Console.WriteLine(pdfText);
}
}
using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
Console.WriteLine("Comparison of IronPDF And Itextsharp Read PDF Files in C#");
//ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
public static void Read()
{
string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF reader
PdfReader pdfReader = new PdfReader(pdfFile);
iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
// Extract plain text from the PDF
LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
// Display or manipulate the extracted text as needed
Console.WriteLine(pdfText);
}
}
Imports IronPdf
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Console.WriteLine("Comparison of IronPDF And Itextsharp Read PDF Files in C#")
'ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingITextSharp
'{
' public static void Read()
' {
' string pdfFile = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
' ' Create a PDF reader
' PdfReader pdfReader = New PdfReader(pdfFile);
' iText.Kernel.Pdf.PdfDocument pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfReader);
' ' Extract plain text from the PDF
' LocationTextExtractionStrategy strategy = New LocationTextExtractionStrategy();
' string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
' ' Display or manipulate the extracted text as needed
' Console.WriteLine(pdfText);
' }
'}
學習曲線:iTextSharp 的學習曲線較陡峭,特別是對於初學者來說。
易於使用:IronPDF 以其簡單明瞭的 API 而聞名,讓開發人員能輕鬆上手。
要使用 IronPDF將此密鑰插入appsettings.json文件。
"IronPdf.LicenseKey": "your license key"
要獲取試用許可證,請提供您的電子郵件。
選擇之間 IronPDF 和 iTextSharp 取決於您的專案具體需求。如果您需要一個簡單易用的庫來進行常見的 PDF 操作,IronPDF 可能是更好的選擇。在做決定時,請考慮應用程式的複雜性、預算和學習曲線等因素。
IronPDF 設計用於將 PDF 生成無縫整合到您的應用程式中,輕鬆處理格式化文件到 PDF 的轉換。這個多功能工具允許您使用 .NET 將網頁表單、本地 HTML 頁面和其他網路內容轉換為 PDF。使用者可以方便地下載、電子郵件或將文件儲存到雲端。無論您需要生成發票、報價單、報告、合同或其他專業文件, IronPDF 為你提供解決方案。使用 IronPDF 直覺且高效的 PDF 生成功能來提升你的應用程序。