在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
PDF(可攜式文件格式)是一種廣泛使用的檔案格式,用於一致且安全地分享文件。 在 C# 中讀取和操作此類文件是各種應用程式中的常見需求,例如文件管理系統、報告工具等。 在本文中,我們將比較兩個用於在 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 可以從iText 的 NuGet 套件管理器套件管理器。 最新版本可作為 iText 套件使用。
或者從 Visual Studio 套件管理器如以下顯示。 在套件管理器中搜尋 iText 並點擊安裝。
IronPDF可以從IronPDF 的 NuGet 套件管理器如下所示。
或從 Visual Studio 套件管理器如下面所示。 搜尋IronPDF:C# PDF 庫在套件管理器中點擊安裝。
將以下代碼添加到 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 的 PDF 生成功能我們已經為您準備好了一切。 利用IronPDF的直觀且高效的PDF生成功能提升您的應用程式。