在許多業務工作流程中,掃描的 PDF 文件必須轉換為可搜尋或可編輯的文字。
本 從掃描的 PDF 中提取文字,使用 Aspose.PDF OCR in C# 教程示範如何利用 Aspose.PDF for .NET 中整合的 OCR 引擎,從基於圖像的頁面中提取純文字。
遵循本指南,您將獲得一個即用即跑的解決方案,能夠處理任何掃描的 PDF,無論其大小或語言為何。
使用 Aspose.PDF OCR SDK 從掃描的 PDF 中提取文字
掃描的 PDF 僅包含圖像,因此典型的文字提取 API 什麼也不返回。OCR(光學字符識別)將這些圖像轉換為機器可讀的字符,從而實現索引、資料挖掘和下游處理。在 C# 中自動化 OCR 可消除手動 copy‑paste 步驟,提高準確性,並能在大量文件批次中擴展。
Aspose.PDF 提供 Aspose.Pdf.Ocr 命名空間,其中包括 OcrTextRecognitionOptions、OcrTextAbsorber 和語言列舉。此庫透過 NuGet 發行。使用以下命令安裝它:
Install-Package Aspose.PDF
欲了解更多資訊,請造訪 Aspose.PDF 產品頁面。
使用 Aspose.PDF OCR 在 C# 中從掃描的 PDF 提取文字
- 將掃描的 PDF 載入
Aspose.Pdf.Document。 - 設定 OCR 選項(語言、解析度、頁面分隔符)。
- 將
OcrTextAbsorber套用至文件的頁面集合。 - 取得已辨識的文字並儲存。
此範例示範如何載入掃描的 PDF、設定 OCR、擷取文字,並使用 C# 將結果寫入檔案。
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Configure OCR recognition options
var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
{
Language = Aspose.Pdf.Ocr.OcrLanguage.English,
Resolution = 300,
PageSeparator = "\n\n"
};
// Recognize text from all pages
var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
document.Pages.Accept(absorber);
// Save recognized text
System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
}
}
Aspose.PDF 對此任務重要的功能
- 整合式 OCR 引擎 – 無需外部依賴;OCR 引擎位於
Aspose.Pdf.Ocr命名空間中。 - 語言選擇 –
OcrLanguage列舉讓您指定字典以獲得更佳的辨識效果。 - 解析度控制 – 較高的 DPI 可提升字元還原度,尤其是對於淡薄的掃描件。
- PageSeparator – 可自訂字串以在輸出文字中分隔頁面。
- Thread‑safe page collection – 允許對大型 PDF 進行平行處理。
這些功能使得一個強大、單一庫的解決方案能夠從任何掃描的 PDF 中提取文字。
在 C# 中的安裝與設定
- 在 Visual Studio 中打開您的 .NET 解決方案。
- 打開 Package Manager Console,然後執行
Install-Package Aspose.PDF。 - 在類文件的頂部添加
using Aspose.Pdf;和using Aspose.Pdf.Ocr;。 - 確保您擁有臨時或完整許可證;如果沒有,輸出可能會包含水印。
有關授權詳情,請參閱臨時授權頁面。
C# 的逐步實作
此部分回答什麼? 提取文字的確切程式碼步驟是什麼?
- 初始化文件
var pdfPath = "path/to/scanned.pdf"; var document = new Document(pdfPath); - 建立 OCR 選項
var ocrOptions = new OcrTextRecognitionOptions { Language = OcrLanguage.English, Resolution = 300, PageSeparator = "\n--- Page Break ---\n" }; - 執行吸收器
var absorber = new OcrTextAbsorber(ocrOptions); document.Pages.Accept(absorber); - 存取提取的文字
string extractedText = absorber.Text; - 儲存或處理文字
System.IO.File.WriteAllText("output.txt", extractedText);
此程式碼遵循上述完整範例的相同流程,但將邏輯分解為易於理解的步驟。
取得免費授權
透過請求臨時授權,可免費評估 Aspose.PDF,請點此:https://purchase.aspose.com/temporary-license/
免費額外資源
結論
本指南帶您了解如何使用 Aspose.PDF OCR 在 C# 中從掃描的 PDF 中提取文字。您學會了如何安裝庫、配置 OCR 選項以提高準確性、實作乾淨的提取流程,並對大型文件應用效能優化。透過這些技術,任何 .NET 開發人員都能將僅含圖像的 PDF 轉換為可搜尋、可編輯的文字流。
常見問題
如何在 C# 中使用 Aspose.PDF 從掃描的 PDF 中提取文字? 建立一個
Document,設定OcrTextRecognitionOptions,在頁面上執行OcrTextAbsorber,然後讀取Text屬性。Aspose.PDF 支援哪些 OCR 語言? 此函式庫透過
OcrLanguage列舉支援多種語言,包括英語、法語、德語、西班牙語、中文等。如何提升低解析度掃描的 OCR 準確度? 提高
Resolution(例如 300 DPI),選擇正確的語言,並考慮對圖像進行前處理以提升對比度。平行處理大型 PDF 安全嗎? 可以,將文件拆分為頁範圍,並在不同執行緒上處理每個範圍,同時監控記憶體使用情況。
OCR 功能需要什麼授權? 只要擁有有效的 Aspose.PDF for .NET 授權,即可完整使用 OCR 功能;亦可取得臨時授權以進行評估。
在哪裡可以找到有關 OCR 設定的更多文件? 在 Aspose.PDF OCR 設定文件中提供了詳細的 OCR 配置指南,網址為 https://docs.aspose.com/pdf/net/.
