IRONSOFTWAREHOME

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();  
    C#
  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

查看案例研究

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones

首席軟體工程師,Agorus Build

查看案例研究

如何從特定的 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
技術作家

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

...
閱讀更多

準備開始了嗎?

Nuget Downloads 21,105,021版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰。

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的免費30天試用密鑰。
不需要信用卡或建立賬戶
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起