跳至頁尾內容
產品對比

如何使用 iTextSharp 在 C# 中讀取 PDF 文件:

在 C# 開發中,處理 PDF 文件是一項常見的任務,包括提取文字和修改文件。 iText 7長期以來一直是這方面的首選庫,但其複雜的語法和陡峭的學習曲線可能會減慢開發速度。

IronPDF提供了更簡單、更有效率的替代方案。憑藉直覺的 API、內建的 HTML 轉 PDF 功能以及更方便的文字擷取方式,IronPDF 可以用更少的程式碼簡化 PDF 處理流程。 在本文中,我們將比較 iText 7 和 IronPDF,並證明為什麼 IronPDF 是 C# 開發人員更明智的選擇。

iText 7 概覽

! iTextSharp 首頁

iText 7(原名 iTextSharp)是一個功能強大的開源程式庫,用於在 .NET 中處理 PDF 檔案。 它提供了豐富的功能,可用於建立、修改、加密和提取 PDF 文件中的內容。 許多開發人員依靠它來實現文件工作流程自動化、產生報告和處理大規模 PDF 處理任務。

iText 7 的最大優勢之一是對 PDF 結構的精細控制。 它支援註釋、表單欄位、浮水印和數位簽名,使其成為高級文件操作的強大工具。 此外,它擁有完善的文檔和廣泛的應用,並得到了強大的社群支持和許多第三方資源的幫助。

安裝 iText 7

要在 .NET 專案中安裝 iText 7,可以使用 Visual Studio 中的NuGet 套件管理器

使用 NuGet 套件管理器控制台:

Install-Package itext7

然而,iText 7 也存在一些挑戰。 其複雜的 API 需要編寫更多程式碼才能完成文字提取或合併 PDF 等常見任務,並且缺乏對 HTML 到 PDF 轉換的內建支持,這使得 Web 到文件的工作流程更加困難。 此外,其 AGPL 許可要求企業購買商業許可才能避免開源分發要求。

對於尋求更精簡、更高級且具有現代功能的 API 的開發人員來說,IronPDF 提供了一個極具吸引力的替代方案。

IronPDF簡介:一款卓越的解決方案

IronPDF 首頁

IronPDF 是一個 .NET 程式庫,旨在簡化和有效率地提取、操作產生PDF 文件。 與需要大量編碼才能執行許多操作的 iText 7 不同,IronPDF 允許開發人員以最少的努力讀取、編輯和修改 PDF。

對於 PDF 提取,IronPDF 只需幾行程式碼即可輕鬆地從 PDF 中提取文字、圖像和結構化數據,從而輕鬆簡化您的文字擷取任務。 在 PDF 處理方面,IronPDF 支援合併拆分新增浮水印和編輯 PDF,而無需複雜的底層操作。

此外,IronPDF 還包含原生HTML 轉 PDF 功能,可輕鬆地從網頁或現有 HTML 內容產生 PDF。 它還支援 JavaScript 渲染、數位簽章加密,為現代應用程式提供了一套完善的工具包。

IronPDF 擁有更簡潔的 API、更好的文件和商業支持,是對開發者友善的替代方案,可簡化 C# 中的 PDF 處理。 在接下來的章節中,我們將比較這兩個函式庫如何處理關鍵的 PDF 任務,以及為什麼 IronPDF 為 C# 開發人員提供更好的體驗。

安裝

要在 C# 專案中啟動並執行 IronPDF,只需在 NuGet 套件管理器中執行以下程式碼行:

Install-Package IronPdf

或者,也可以前往"工具">"NuGet 套件管理器">"管理解決方案的 NuGet 套件",然後搜尋 IronPDF。

IronPDF NuGet 套件管理器螢幕

然後,只需點擊"安裝",IronPDF 就會立即添加到您的專案中!

IronPDF 與 iText 7 在 PDF 處理上的比較:程式碼比較

使用 IronPDF 擷取文本

IronPDF 透過對開發者更友善的 API,簡化了PDF 文字的提取、操作和讀取。 與需要底層操作的 iText 7 不同,IronPDF 只需幾行程式碼即可提取文字。

為了示範 IronPDF 強大的文字擷取工具的實際應用,我將使用以下 PDF 文件並從中提取內容。

文字擷取範例 PDF

程式碼範例

using IronPdf;

class Program
{
    static void Main()
    {
        string pdfPath = "sample.pdf";

        // Load the PDF document
        var pdf = new PdfDocument(pdfPath);

        // Extract all text from the loaded PDF document
        string extractedText = pdf.ExtractAllText();

        // Output the extracted text to the console
        Console.WriteLine(extractedText);
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        string pdfPath = "sample.pdf";

        // Load the PDF document
        var pdf = new PdfDocument(pdfPath);

        // Extract all text from the loaded PDF document
        string extractedText = pdf.ExtractAllText();

        // Output the extracted text to the console
        Console.WriteLine(extractedText);
    }
}
$vbLabelText   $csharpLabel

輸出

IronPDF 主機輸出

解釋:

IronPDF 透過其高級 API 簡化了 PDF 文字擷取,無需進行底層操作。 IronPDF 只需幾行程式碼即可有效率地從 PDF 文件中提取所有文本,這與 iText 7 等庫不同,後者通常需要手動頁面迭代和複雜的處理。

在這個範例中, PdfDocument類別會載入 PDF, ExtractAllText()方法快速擷取所有文本,從而簡化了流程。 與 iText 7 相比,這是一個很大的優勢,因為在 iText 7 中,您需要手動處理各個頁面和文字元素。

將 IronPDF 的功能擴展到其他任務:

在基本文字擷取範例的基礎上,IronPDF 的高級 API 簡化了其他常見的 PDF 任務,同時保持了易用性和效率:

從特定頁面提取文本:如果您需要從特定頁面或範圍內提取文本,IronPDF 可以讓您輕鬆完成此操作。 例如,要從第一頁提取文字:

var pdf = new PdfDocument("sample.pdf");

// Access text from the first page
string pageText = pdf.Pages[0].Text;

Console.WriteLine(pageText);
var pdf = new PdfDocument("sample.pdf");

// Access text from the first page
string pageText = pdf.Pages[0].Text;

Console.WriteLine(pageText);
$vbLabelText   $csharpLabel

PDF 處理:從多個 PDF 文件中提取文字或資料後,您可能想要將它們合併到一個文件中。 IronPDF 讓合併多個 PDF 檔案變得簡單:

var pdf1 = new PdfDocument("file1.pdf");
var pdf2 = new PdfDocument("file2.pdf");

// Merge the PDFs into a single document
var combinedPdf = PdfDocument.Merge(pdf1, pdf2);

combinedPdf.SaveAs("combined_output.pdf");
var pdf1 = new PdfDocument("file1.pdf");
var pdf2 = new PdfDocument("file2.pdf");

// Merge the PDFs into a single document
var combinedPdf = PdfDocument.Merge(pdf1, pdf2);

combinedPdf.SaveAs("combined_output.pdf");
$vbLabelText   $csharpLabel

PDF 轉 HTML 轉換:如果您需要將 PDF 文件轉換回 HTML 格式以便進一步提取或處理,IronPDF 也提供了此功能:

var pdf = new PdfDocument("sample.pdf");

// Convert the PDF to an HTML string
string htmlContent = pdf.ToHtmlString();
var pdf = new PdfDocument("sample.pdf");

// Convert the PDF to an HTML string
string htmlContent = pdf.ToHtmlString();
$vbLabelText   $csharpLabel

使用 IronPDF,文字擷取只是開始。 該程式庫的簡單、強大的 API 可擴展到各種 PDF 處理任務,所有操作都採用直覺且易於整合到您的工作流程中的格式。

使用 iText 7 閱讀 PDF

iText 7 需要使用PDF 閱讀器、串流和位元組級資料處理。 要提取文字並非易事,因為它涉及遍歷 PDF 頁面並手動處理各種結構。 在這個程式碼範例中,我們將使用與 IronPDF 部分中相同的 PDF 文件。

using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;

class Program
{
    static void Main()
    {
        string pdfPath = "sample.pdf";
        string extractedText = ExtractTextFromPdf(pdfPath);
        Console.WriteLine(extractedText);
    }

    // Method to extract text from a PDF
    static string ExtractTextFromPdf(string pdfPath)
    {
        // Use PdfReader to load the PDF
        using (PdfReader reader = new PdfReader(pdfPath))
        // Open the PDF document for processing
        using (iText.Kernel.Pdf.PdfDocument pdfDoc = new iText.Kernel.Pdf.PdfDocument(reader))
        {
            string text = "";
            // Iterate through each page and extract text
            for (int i = 1; i <= pdfDoc.GetNumberOfPages(); i++)
            {
                text += PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(i)) + Environment.NewLine;
            }
            return text;
        }
    }
}
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;

class Program
{
    static void Main()
    {
        string pdfPath = "sample.pdf";
        string extractedText = ExtractTextFromPdf(pdfPath);
        Console.WriteLine(extractedText);
    }

    // Method to extract text from a PDF
    static string ExtractTextFromPdf(string pdfPath)
    {
        // Use PdfReader to load the PDF
        using (PdfReader reader = new PdfReader(pdfPath))
        // Open the PDF document for processing
        using (iText.Kernel.Pdf.PdfDocument pdfDoc = new iText.Kernel.Pdf.PdfDocument(reader))
        {
            string text = "";
            // Iterate through each page and extract text
            for (int i = 1; i <= pdfDoc.GetNumberOfPages(); i++)
            {
                text += PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(i)) + Environment.NewLine;
            }
            return text;
        }
    }
}
$vbLabelText   $csharpLabel

輸出

! iText 7 控制台輸出

解釋:

  • PdfReader會載入 PDF 檔案以供閱讀。
  • PdfDocument物件允許遍歷頁面。
  • PdfTextExtractor.GetTextFromPage()從每一頁中檢索文字。 最終文字儲存在字串中並顯示出來。

這種方法雖然可行,但需要手動迭代,對於結構化文件或掃描的 PDF 文件來說可能會比較麻煩。

iText 7 與 IronPDF 的比較

雖然 iText 7 需要編寫詳細的程式碼才能執行 PDF 操作,但 IronPDF 透過簡單的方法簡化了這些任務。 例如,使用 iText 7 從 PDF 中提取文字需要多個步驟和大量程式碼,而 IronPDF 只需幾行程式碼即可完成此操作。 此外,IronPDF 對 HTML 到 PDF 的轉換支援更加強大,能夠無縫處理複雜的 HTML、CSS 和 JavaScript。

重點總結

  • IronPDF 透過更直覺、更精簡的 API 簡化了 PDF 的讀取和操作任務,執行常見操作所需的程式碼更少。
  • 與 iTextSharp 更複雜的迭代過程相比,IronPDF 的文字擷取更容易實現,從而節省開發人員的時間。
  • IronPDF 的永久許可對企業更友好,與 iTextSharp 的 AGPL 許可相比,限制更少。
  • IronPDF 擁有更好的文檔,更便於快速故障排除,因此對於希望快速找到解決方案而無需篩選過多資源的開發人員來說,它是理想之選。

使用 IronPDF 優化您的工作流程

IronPDF 提供了一系列強大的功能,不僅限於 PDF 閱讀。 這些特性使其成為開發人員優化 PDF 工作流程的強大解決方案。 以下是IronPDF如何提升您的開發流程:

1. 從PDF中提取文本

IronPDF 可以輕鬆地從 PDF 文件中提取文本,因此非常適合涉及文件分析、資料提取或內容索引的工作流程。 使用 IronPDF,您可以快速從 PDF 中提取文字並在您的應用程式中使用它,而無需處理複雜的解析。

2. 建立 PDF

IronPDF 讓您輕鬆從頭開始產生 PDF 文件,無論您是建立報告、發票還是其他類型的文件。 該工具還支援 HTML 轉 PDF,讓您可以利用現有的網頁內容並產生格式良好的 PDF 檔案。 這非常適合需要將網頁或動態 HTML 內容轉換為可下載 PDF 檔案的場景。

3. 進階 PDF 功能

除了基本的文字擷取和 PDF 建立之外,IronPDF 還支援進階功能,例如填寫 PDF 表單、新增註解和操作文件內容。 這些功能在法律、金融或教育等行業中非常有用,因為在這些行業中,表格和回饋是工作流程的常規組成部分。

4. 批量處理

IronPDF 非常適合處理大量 PDF 文件。 無論您是從數百個文件中提取信息,還是將多個 HTML 文件轉換為 PDF,IronPDF 都可以自動執行這些任務並有效率地處理它們,從而節省時間和精力。

5. 自動化和效率

IronPDF 簡化了通常耗時且重複的 PDF 處理任務。透過自動化 PDF 文字擷取、表單填寫或批次轉換等任務,開發人員可以將精力集中在專案中更複雜的方面,而將繁重的工作交給 IronPDF 處理。

技術支援和社區資源

為了確保開發者能夠充分利用 IronPDF,該工具擁有強大的支援和社區資源:

*技術支援:* IronPDF 透過電子郵件和工單系統提供直接支持,為任何實施或技術難題提供協助。 社群資源:** IronPDF 網站包含豐富的文件、教學和部落格文章。 開發者還可以透過 GitHub 和 Stack Overflow 尋找解決方案並分享知識,社群成員會在那裡積極討論最佳實踐和故障排除技巧。

結論

在本文中,我們探討了IronPDF作為 .NET 開發人員的強大且使用者友好的 PDF 處理庫的功能。 我們將其與 iText 7 進行了比較,重點介紹了 IronPDF 如何簡化文字擷取和 PDF 操作等複雜任務。 IronPDF 簡潔的 API 和進階功能(包括編輯、浮水印和數位簽章)使其成為現代 PDF 工作流程的卓越解決方案。

與需要複雜編碼才能完成常見 PDF 任務的iText 7不同,IronPDF 可讓您使用最少的程式碼執行複雜的操作,從而節省開發人員的時間和精力。 無論您是處理掃描文件、從 HTML 產生 PDF,還是添加自訂浮水印,IronPDF 都提供了一種直觀且高效的方式來處理所有這些操作。

如果您希望簡化 PDF 工作流程並提高 C# 專案的生產力,IronPDF 是理想的選擇。

我們邀請您下載 IronPDF並親自體驗。 透過免費試用,您可以親身體驗將 IronPDF 整合到您的應用程式中是多麼容易,並立即開始享受其強大的功能。

點擊下方連結即可開始免費試用:

  • 立即開始 IronPDF免費試用
  • 了解更多關於 IronPDF 的功能定價信息 不要猶豫-立即使用 IronPDF 釋放無縫 PDF 處理的潛力!

請注意iText 7、PdfSharp、Spire.PDF、Syncfusion Essential PDF 和 Aspose.PDF 是其各自所有者的註冊商標。 本網站與 iText 7、PdfSharp、Spire.PDF、Syncfusion Essential PDF 或 Aspose.PDF 沒有任何關聯、認可或贊助關係。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 文中比較僅供參考,反映的是撰寫本文時可公開取得的資訊。

常見問題解答

在 C# 中使用 IronPDF 處理 PDF 檔案相比 iText 7 有哪些優勢?

IronPDF 提供更直覺的 API,支援 HTML 轉 PDF,並簡化了文字擷取、合併和分割 PDF 等任務。它所需的程式碼量比 iText 7 更少,並提供對企業友善的永久授權模式。

如何使用 C# 將網頁轉換為 PDF?

您可以使用 IronPDF 的RenderUrlAsPdf方法將網頁直接轉換為 PDF 文件。此方法透過內部處理 HTML 到 PDF 的轉換,簡化了轉換過程。

IronPDF 是否適合自動化大型 PDF 處理任務?

是的,IronPDF 非常適合自動化和大量處理,因此非常適合在 C# 專案中有效處理大量 PDF 文件。

我可以使用 IronPDF 從 PDF 文件中特定範圍的頁面中提取文字嗎?

IronPDF 提供從特定頁面或頁面範圍提取文字的功能,從而可以精確處理 PDF 內容。

IronPDF 為開發者提供哪些支援資源?

IronPDF 提供全面的文件、教學課程和活躍的社群。此外,還透過電子郵件和工單系統提供直接的技術支持,以幫助開發人員。

IronPDF 如何處理與 C# 專案的整合?

透過在 Visual Studio 中使用 NuGet 套件管理器安裝 IronPDF,可以使用命令「Install-Package IronPdf」輕鬆地將其整合到 C# 專案中。

IronPDF有哪些授權許可選項?

IronPDF 提供永久許可模式,這種模式對企業友好,避免了與 iText 7 的 AGPL 許可證相關的開源分發要求。

IronPDF 如何提升 C# 專案中的開發人員效率?

IronPDF 透過其用戶友好的 API 簡化了複雜的 PDF 任務,減少了所需的程式碼量,並加快了開發過程,從而提高了 C# 專案的生產力。

IronPDF是否支援將PDF轉換為HTML?

是的,IronPDF 提供了將 PDF 轉換為 HTML 字串的功能,方便在 Web 應用程式中顯示和操作 PDF 內容。

IronPDF在PDF處理方面的主要功能有哪些?

IronPDF 支援多種功能,包括 PDF 建立、文字擷取、HTML 轉 PDF、合併、分割、浮水印和數位簽名,所有這些都透過易於使用的 API 實現。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。