如何使用 C# 從 PDF 中提取嵌入的文字和圖像

How to Extract Embedded Text and Images from PDFs

This article was translated from English: Does it need improvement?
Translated
View the article in English
role="alert">您的公司每年在PDF安全性和合規性上的訂閱費用過高。考慮使用 IronSecureDoc,它提供數位簽章、編碼、加密和保護等SaaS服務的管理解決方案,僅需一次性付款即可。探索 IronSecureDoc 文件

提取嵌入的文本和圖像涉及檢索文檔中的文本內容和圖形元素。 此過程允許用戶訪問和重新利用內容以進行編輯、搜索或將文本轉換為其他格式,並保存圖像以供重複使用或分析。

要從 PDF 中提取文本和圖像,請使用 IronPdf。 提取的圖像可以保存到磁碟中,或轉換為其他圖像格式,然後嵌入新渲染的文件中。

IronPDF 快速上手:提取文本和圖像

使用 IronPDF 在短短幾行代碼中輕鬆從 PDF 中提取文本和圖像。 本快速入門指南為開發人員提供所需工具,以從 PDF 文檔中檢索嵌入的內容,便於內容重新利用和分析。 無論您是提取文本以進行編輯還是保存圖像以便後續使用,IronPDF 確保流線型且具有成本效益的解決方案。 立即使用 IronPdf 庫並體驗無縫的 PDF 內容管理。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var pdf = new IronPdf.PdfDocument("sample.pdf");
    string text = pdf.ExtractAllText();
    var images = pdf.ExtractAllImages();
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小工作流程(5 步)

  1. 下載 IronPdf C# 庫
  2. 準備 PDF 文檔以進行文本和圖像提取
  3. 使用 ExtractAllText 方法提取文本
  4. 使用 ExtractAllImages 方法提取圖像
  5. 指定要提取文本和圖像的特定頁面


提取文本示例

文本提取可在新渲染和現有的 PDF 文檔上進行。 使用 ExtractAllText 方法從文檔中提取嵌入的文本。 該方法將返回一個包含給定 PDF 所有文本的字符串。 頁面之間由四個連續的新行字符分隔。 讓我們使用我從維基百科網站渲染的 範本 PDF

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text.cs
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);
Imports IronPdf
Imports System.IO

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract text
Private text As String = pdf.ExtractAllText()

' Export the extracted text to a text file
File.WriteAllText("extractedText.txt", text)
$vbLabelText   $csharpLabel
class="content-img-align-center">
class="center-image-wrapper"> 提取的文本

按行和字符提取文本

在每個 PDF 頁面中,可以檢索文本行和字符的座標。 首先,從 PDF 中選擇一個頁面,並訪問 LinesCharacters 屬性。 座標具體顯示為上、右、下、左值,表示文本的位置。

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text-by-line-character.cs
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}"));
Imports IronPdf
Imports System.IO
Imports System.Linq

' Open PDF from file
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract text by lines
Private lines = pdf.Pages(0).Lines

' Extract text by characters
Private characters = pdf.Pages(0).Characters

File.WriteAllLines("lines.txt", lines.Select(Function(l) $"at Y={l.BoundingBox.Bottom:F2}: {l.Contents}"))
$vbLabelText   $csharpLabel
class="content-img-align-center">
class="center-image-wrapper"> 按行和字符提取的文本

提取圖像示例

使用 ExtractAllImages 方法提取文檔中嵌入的所有圖像。 該方法將以 AnyBitmap 對象列表的形式返回圖像。 使用我們上面示例中的相同文檔,我們提取了圖像並將其導出到 'images' 文件夾。

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-image.cs
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");
}
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract images
Private images = pdf.ExtractAllImages()

For i As Integer = 0 To images.Count - 1
	' Export the extracted images
	images(i).SaveAs($"images/image{i}.png")
Next i
$vbLabelText   $csharpLabel
class="content-img-align-center">
class="center-image-wrapper"> 提取的圖像

除了上面顯示的 ExtractAllImages 方法,還可以使用 ExtractAllBitmapsExtractAllRawImages 方法從文檔中提取圖像信息。 而 ExtractAllBitmaps 方法將返回一個 AnyBitmap 列表,如代碼範例所示,ExtractAllRawImages 方法則從 PDF 文檔中提取所有圖像,並以 Byte Arrays(byte[])的形式返回原始數據。


在特定頁面上提取文本和圖像

可以在單個或多個指定頁面上執行文本和圖像提取。 使用 ExtractTextFromPageExtractTextFromPages 方法來分別從單個頁面或多個頁面中提取文本。 提取圖像時,使用 ExtractImagesFromPageExtractImagesFromPages 方法。

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text-single-multiple.cs
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);
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract text from page 1
Private textFromPage1 As String = pdf.ExtractTextFromPage(0)

Private pages() As Integer = { 0, 2 }

' Extract text from pages 1 & 3
Private textFromPage1_3 As String = pdf.ExtractTextFromPages(pages)
$vbLabelText   $csharpLabel

常見問題解答

如何使用 .NET C# 從 PDF 中提取嵌入文字?

您可以使用 IronPdf 庫中的ExtractAllText方法從 PDF 中提取嵌入文字。此方法傳回一個字串,其中包含每頁的文本,文字之間以四個連續的換行符號分隔。

使用 C# 從 PDF 擷取影像需要哪些步驟?

若要在 C# 中從 PDF 中擷取影像,請先透過 NuGet 下載 IronPdf 庫。然後使用ExtractAllImages方法,該方法將傳回 AnyBitmap 物件列表,該列表表示映像。

我可以從PDF文件的特定頁面中提取文字嗎?

是的,您可以使用 IronPdf 中的ExtractTextFromPageExtractTextFromPages方法從 PDF 文件的特定頁面或多個頁面中提取文字。

透過行座標和字元座標提取文字的目的是什麼?

透過行座標和字元座標提取文本,可以獲得文本在 PDF 頁面中的確切位置。這可以透過 IronPdf 中的 **Lines** 和 **Characters** 屬性來實現,這兩個屬性分別提供上、右、下和左四個座標值。

如何從PDF檔案中提取RAW格式的影像?

若要擷取原始格式的影像,請使用 IronPdf 中的ExtractAllRawImages方法。此方法以位元組數組的形式傳回影像,從而允許您存取原始影像資料。

使用 IronPdf 提取文字和圖像有哪些好處?

使用 IronPdf 從 PDF 文件中提取文字和圖像經濟高效,因為它提供一次性付費方案。它有助於重新利用內容進行編輯、搜尋、轉換為其他格式以及重複使用影像進行分析。

我該如何開始使用 IronPdf 進行 PDF 內容擷取?

要開始使用 IronPdf,請從 NuGet 下載 IronPdf C# 庫,並按照指南準備 PDF 文檔,並使用ExtractAllTextExtractAllImages等方法提取內容。

是否可以從單一 PDF 頁面中同時提取文字和圖像?

是的,IronPdf 允許您使用ExtractTextFromPageExtractImagesFromPage方法從單一 PDF 頁面中提取文字和圖像。

有哪些方法可以從多個頁面中提取圖像?

您可以使用 IronPdf 中的ExtractImagesFromPages方法從 PDF 文件的多個頁面中提取影像。

IronPdf 是否相容於 .NET 10,能否用於擷取文字和影像?

是的——IronPdf 支援 .NET 10,以及更早的現代版本,例如 .NET 9、8、7、6、CORE、Standard 和 Framework。您可以在 .NET 10 專案中使用所有相同的方法,例如ExtractAllTextExtractAllImagesExtractTextFromPageExtractImagesFromPages ,無需任何變通方法或相容性調整。

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 18

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 18
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 38

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 38
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 48

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 48
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

準備好開始了嗎?
Nuget 下載 16,154,058 | 版本: 2025.11 剛剛發布