如何在 C# 中將結果保存為可搜尋的 PDF

使用 IronOCR 在 C# 中儲存可搜尋 PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

可搜尋的 PDF,通常被稱為 OCR(光學字元辨識)PDF,是一種包含掃描影像和機器可讀文字的 PDF 文件。 這些 PDF 文件是透過對掃描的紙質文件或圖像執行 OCR 功能創建的,它可以識別圖像中的文本,並將其轉換為可選擇和可搜尋的文本。

IronOCR 提供了一種解決方案,可以對文件執行光學字元識別,並將結果匯出為可搜尋的 PDF 文件。 它支援將可搜尋的 PDF 匯出為文件、位元組和流。

快速入門:一行匯出可搜尋的 PDF

設定RenderSearchablePdf = true ,對輸入執行Read(...) ,然後呼叫SaveAsSearchablePdf(...) -這就是使用 IronOCR 產生完全可搜尋 PDF 的全部步驟。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronOCR

    PM > Install-Package IronOcr

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

    new IronOcr.IronTesseract { Configuration = { RenderSearchablePdf = true } } .Read(new IronOcr.OcrImageInput("file.jpg")).SaveAsSearchablePdf("searchable.pdf");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronOCR,免費試用!
    arrow pointer


匯出為可搜尋 PDF 範例

以下是如何使用 IronOCR 將結果匯出為可搜尋的 PDF 檔案。 您必須先將Configuration.RenderSearchablePdf屬性設為true 。 透過Read方法取得 OCR 結果物件後,使用SaveAsSearchablePdf方法指定輸出檔案路徑。 以下程式碼示範如何使用範例 TIFF 檔案。

:path=/static-assets/ocr/content-code-examples/how-to/searchable-pdf-searchable-pdf.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable render as searchable PDF
ocrTesseract.Configuration.RenderSearchablePdf = true;

// Add image
using var imageInput = new OcrImageInput("Potter.tiff");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Export as searchable PDF
ocrResult.SaveAsSearchablePdf("searchablePdf.pdf");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Enable render as searchable PDF
ocrTesseract.Configuration.RenderSearchablePdf = True

' Add image
Dim imageInput = New OcrImageInput("Potter.tiff")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Export as searchable PDF
ocrResult.SaveAsSearchablePdf("searchablePdf.pdf")
$vbLabelText   $csharpLabel

下面顯示的是範例 TIFF 檔案的螢幕截圖以及嵌入的可搜尋 PDF 檔案。 嘗試選取 PDF 中的文本,以確認其可搜尋性。 選擇功能還意味著可以在 PDF 檢視器中搜尋文字。

IronOCR 使用特定字體將文字疊加到圖像檔案上,這可能會導致文字大小出現一些差異。

TIFF 文件

匯出為已套用篩選條件的可搜尋 PDF

SaveAsSearchablePdf也接受一個布林標誌作為第二個參數,讓您可以對可搜尋的 PDF 套用篩選器或不套用篩選器,從而為開發人員提供選擇的靈活性。

下面是一個套用灰度,然後透過在SaveAsSearchablePdf的第二個參數中設定true來儲存帶有篩選器的 PDF 的範例。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs
using IronOcr;

var ocr = new IronTesseract();
var ocrInput = new OcrInput();

// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");

// Apply gray scale filter
ocrInput.ToGrayScale();
OcrResult result = ocr.Read(ocrInput);

// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputGrayscale.pdf", true);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

可搜尋的 PDF 檔案(位元組流和資料流)

也可以分別使用SaveAsSearchablePdfBytesSaveAsSearchablePdfStream方法將可搜尋 PDF 的輸出作為位元組或流進行處理。 下面的程式碼範例展示如何使用這些方法。

:path=/static-assets/ocr/content-code-examples/how-to/searchable-pdf-searchable-pdf-byte-stream.cs
// Export searchable PDF byte
byte[] pdfByte = ocrResult.SaveAsSearchablePdfBytes();

// Export searchable PDF stream
Stream pdfStream = ocrResult.SaveAsSearchablePdfStream();
' Export searchable PDF byte
Dim pdfByte() As Byte = ocrResult.SaveAsSearchablePdfBytes()

' Export searchable PDF stream
Dim pdfStream As Stream = ocrResult.SaveAsSearchablePdfStream()
$vbLabelText   $csharpLabel

常見問題解答

什麼是可搜尋的 PDF?

可搜尋的 PDF 是將掃描圖像與機器可讀文本結合在一起的文件,通過對掃描的文件或圖像執行 OCR 創建,允許用戶在文件中選擇和搜尋文本。

如何在 C# 中將掃描的文件轉換為可搜尋的 PDF?

要在 C# 中將掃描的文件轉換為可搜尋的 PDF,使用 IronOCR,將 Configuration.RenderSearchablePdf 屬性設為 true,使用 Read 方法執行 OCR,然後使用 SaveAsSearchablePdf 儲存輸出。

我可以匯出可搜尋的 PDF 為位元組或流嗎?

可以,IronOCR 允許使用 SaveAsSearchablePdfBytes 匯出可搜尋的 PDF 為位元組,並使用 SaveAsSearchablePdfStream 匯出為流。

我應該如何處理不同的文件格式以進行 OCR 處理?

IronOCR 支援各種文件格式,如 TIFF 以進行 OCR 處理,從這些格式創建可搜尋的 PDF。

可以在使用 OCR 技術創建的可搜尋 PDF 中選擇和搜尋文本嗎?

可以,使用 IronOCR 技術創建的可搜尋 PDF 允許在 PDF 檢視器中選擇和搜尋文本。

使用 OCR 創建可搜尋 PDF 涉及哪些步驟?

步驟包括下載 IronOCR C# 函式庫、為 OCR 準備文件、將 RenderSearchablePdf 屬性設為 true,並使用 SaveAsSearchablePdf 方法儲存文件。

我怎樣才能確保我的 PDF 中的文本是可搜尋的?

使用 IronOCR 對圖像執行 OCR,並在儲存文件之前將 RenderSearchablePdf 屬性設為 true,以確保文本是可搜尋的。

IronOCR 使用特定字體作為可搜尋 PDF 中重疊文本的字體嗎?

是的,IronOCR 使用特定字體作為圖像文件上重疊文本的字體,這可能導致文本大小的某些差異。

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
審核人
Jeff Fritz
Jeffrey T. Fritz
首席程序经理 - .NET 社区团队
Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的开发者的直播节目,在节目上讨论技术并与观众一起编写代码。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 开发者活动(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的内容。
準備好開始了嗎?
Nuget 下載 5,167,857 | Version: 2025.11 剛發表