Extract Embedded Text and Images from PDFs in C#

Curtis Chau
Curtis Chau
Updated: 2026年2月16日

透過簡單的 C# 方法呼叫,即可從 PDF 文件中擷取文字內容與圖片。 擷取嵌入式內容,以便進行編輯、分析或在其他應用程式中重新利用。

文字與圖像擷取功能可從 PDF 文件中提取文字內容及圖形元素。 存取並重新利用內容,以便進行編輯、搜尋、將文字轉換為其他格式,或儲存圖片以供重複使用。 無論您需要使用 C# 解析 PDF 進行資料分析、將內容轉換為可搜尋格式,還是擷取視覺元素以供歸檔,IronPDF 皆提供全面的擷取工具。
using IronPDF 擷取文字與圖片。 請將擷取的圖片儲存至磁碟,或轉換為其他格式,再嵌入至新文件中。 此靈活性可支援需要內容轉換的工作流程,例如將 PDF 轉換為 HTML 或重新利用擷取的圖片。

快速入門:使用 IronPDF 擷取文字與圖片

只需幾行程式碼,即可從 PDF 中擷取文字和圖片。 本快速入門指南將示範如何從 PDF 文件中擷取嵌入式內容,以供內容再利用與分析之用。 透過 IronPDF 的精簡解決方案,擷取文字進行編輯,或儲存圖片以供後續使用。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2複製並運行這段程式碼片段。

    var pdf = new IronPdf.PdfDocument("sample.pdf");  
    string text = pdf.ExtractAllText();  
    var images = pdf.ExtractAllImages();  
  3. 3部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronPDF,透過免費試用
    arrow pointer

如何從 PDF 檔案中擷取文字?

從新渲染及現有的 PDF 文件中擷取文字。 請使用 ExtractAllText 方法從文件中提取嵌入的文字。 此方法會傳回一個包含 PDF 中所有文字的字串。 各頁以四個連續的換行字元分隔。 此範例使用從維基百科網站擷取並渲染的樣本 PDF 檔案。

當處理包含國際語言及 UTF-8 字元的 PDF 檔案時,IronPDF 能維持正確的編碼與字元呈現。 這可確保非拉丁文字及特殊字元的正確顯示。

using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text
string text = pdf.ExtractAllText();

// Export the extracted text to a text file
File.WriteAllText("extractedText.txt", text);
維基百科頁面與提取的純文字並列顯示,展示文字提取過程

如何根據精確座標擷取文字?

擷取每頁 PDF 文件中文字行與字元的座標。 從 PDF 中選取一頁,並存取 Lines 和 Characters 屬性。 座標包含 Bottom 及 Left 等值,代表文字位置。 此功能可保留版面配置,並支援文字位置分析。

對於需要以 C# 讀取 PDF 檔案並具備位置感知能力的開發人員而言,座標擷取功能可提供資料,用以維持文件結構並實現進階文字分析。

using IronPdf;
using System.IO;
using System.Linq;

// Open PDF from file
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text by lines
var lines = pdf.Pages[0].Lines;

// Extract text by characters
var characters = pdf.Pages[0].Characters;

File.WriteAllLines("lines.txt", lines.Select(l => $"at Y={l.BoundingBox.Bottom:F2}: {l.Contents}"));
分屏畫面顯示維基百科主頁與已擷取的文字檔案,其中 Y 座標顯示已解析的內容

如何從 PDF 中擷取圖片?

請使用 ExtractAllImages 方法從文件中提取所有嵌入的圖片。 此方法會將影像以 List 物件的 AnyBitmap 清單形式傳回。 我們使用同一份文件,擷取其中的圖片並將其匯出至"images"資料夾。 此功能支援影像歸檔、內容遷移,以及將 PDF 頁面渲染為影像以供後續處理。

擷取的圖片將維持原始畫質,並可儲存為多種格式,包括 PNG、JPEG 和 BMP。針對雲端儲存工作流程,可將此功能與 Azure Blob Storage 整合以進行圖片管理。

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract images
var images = pdf.ExtractAllImages();

for(int i = 0; i < images.Count; i++)
{
    // Export the extracted images
    images[i].SaveAs($"images/image{i}.png");
}
執行圖片擷取工具後,檔案總管以縮圖檢視模式顯示 19 張已擷取的 PNG 圖片

有哪些不同的圖片擷取方法?

除了 ExtractAllImages 方法外,請使用 ExtractAllBitmaps 和 ExtractAllRawImages 方法來擷取圖片資訊。 雖然 ExtractAllBitmaps 會傳回 List 的 AnyBitmap,但 ExtractAllRawImages 會擷取所有圖片,並將其以原始 byte[] (byte[]) 的形式傳回。

ExtractAllRawImages 方法在處理記憶體中的影像資料,或與需要位元組陣列輸入的系統整合時,表現相當出色。 在將 PDF 匯出至記憶體流的場景中,原始位元組陣列格式能提供最佳的靈活性。


我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic

Microsoft MVP

查看案例研究

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle

首席技術官,OPYN

查看案例研究

如何從特定的 PDF 頁面中擷取內容?

從單一或多個指定頁面中擷取文字與圖片。 請使用 ExtractTextFromPage 和 ExtractTextFromPages 方法從單一或多個頁面中提取文字。 針對圖片,請使用 ExtractImagesFromPage 和 ExtractImagesFromPages 方法。

這種細粒度的控制功能,對於處理大型文件時特別有用,因為通常只有特定段落包含相關內容。 它還支援分割 PDF 並擷取單一頁面以進行獨立處理的功能。

using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text from page 1
string textFromPage1 = pdf.ExtractTextFromPage(0);

int[] pages = new[] { 0, 2 };

// Extract text from pages 1 & 3
string textFromPage1_3 = pdf.ExtractTextFromPages(pages);

何時應從特定頁面而非所有頁面進行擷取?

在以下情況下從特定頁面擷取內容:

  • 處理包含特定區段相關資料的大型 PDF 檔案
  • 實作可獨立處理各頁面的工作流程
  • 建置需要增量內容顯示或處理的應用程式
  • 僅處理所需頁面以優化記憶體使用
  • 建立針對特定頁面的搜尋或索引功能

我應該了解哪些效能考量?

在擷取 PDF 內容時,請考量以下效能因素:

  • 記憶體使用:從大型文件中逐頁擷取內容,以將記憶體消耗降至最低
  • 處理時間:在適當的情況下,針對多頁面的資料擷取使用並行處理
  • 檔案大小:包含高解析度圖片的大型 PDF 檔案需要更長的處理時間
  • 儲存空間:請預留足夠的磁碟空間,以備提取大量高解析度圖片之用
  • 多執行緒:IronPDF 支援多執行緒操作,以提升多核心系統上的效能

若要獲得最佳的記憶體 PDF 效能,請使用記憶體流操作來減少磁碟 I/O 開銷。

常見問題

如何在 C# 中從 PDF 文件中擷取文字?

using IronPDF 的 ExtractAllText 方法,可從 PDF 文件中擷取嵌入的文字。此方法會傳回一個字串,其中包含 PDF 中的所有文字,各頁面以四個連續的換行字元分隔。IronPDF 能正確處理國際語言及 UTF-8 字元的編碼。

我可以透過程式碼從 PDF 檔案中擷取圖片嗎?

是的,IronPDF 提供 ExtractAllImages 方法,用於從 PDF 文件中擷取圖形元素。您可以將擷取的圖片儲存至磁碟,或轉換為其他格式,再將其嵌入新文件中。

PDF 內容擷取的主要應用情境有哪些?

IronPDF 的資料擷取工具支援多種工作流程,包括解析 PDF 進行資料分析、將內容轉換為可搜尋格式、擷取視覺元素以供歸檔,以及將內容重新利用以進行編輯或轉換為其他格式(如 HTML)。

提取 PDF 內容需要多少行程式碼?

透過 IronPDF,您只需幾行程式碼即可擷取文字與圖片。只需載入您的 PDF 文件,並呼叫 ExtractAllText() 進行文字擷取,或呼叫 ExtractAllImages() 進行圖片擷取。

我可以從特定頁面提取內容,而不是整個文件嗎?

是的,IronPDF 允許您指定要擷取文字和圖片的特定頁面,讓您能精確控制從 PDF 文件中擷取哪些內容。

How can IronPDF assist with extracting text from PDFs containing international languages?

IronPDF maintains proper encoding and character representation for international languages and UTF-8 characters, ensuring correct text extraction and display for non-Latin scripts and special characters.

Is it possible to extract images from a PDF for use in Azure Blob Storage using IronPDF?

Yes, IronPDF's image extraction capabilities are compatible with Azure Blob Storage workflows, allowing you to save extracted images in various formats and manage them effectively in the cloud.

Does IronPDF support extracting text from specific layers within a PDF?

Yes, IronPDF can extract text from specific layers (OCGs) within a PDF using the ExtractTextFromLayer and GetTextObjectsByLayer methods, which target content grouped in named layers like CAD drawings or map exports.

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

閱讀更多

準備開始了嗎?

Nuget Downloads 21,916,531版本:2026.11剛剛發布