使用 IronOCR 釋放可搜索 PDF 的力量:網路研討會回顧
在"使用 IronOCR 簡化文件轉換"網路研討會中,軟體銷售工程師 Chipego Kalinda 和銷售營運經理 Darren Steddy 透過即時程式碼和真實案例,探討了IronOCR的三個實際用例,演示了將掃描的 PDF 轉換為可搜尋、符合規範的文檔是多麼有效和容易。
IronOCR 允許企業只需幾行程式碼即可將掃描的 PDF 文件轉換為可搜尋、符合規範的文檔,自動提取資料並滿足 PDF/UA 等無障礙標準,從而實現法律合規性和營運效率。
如何使 PDF 檔案符合 PDF/UA 標準?
為什麼 PDF/UA 標準對我的業務很重要?
許多組織必須滿足 PDF/UA 等可訪問性和合規性標準——無論是為了內部政策、公共部門要求還是長期存檔。 PDF/UA(一般無障礙)標準確保殘疾使用者(特別是使用螢幕閱讀器等輔助科技的使用者)能夠完全存取 PDF 檔案。 這不僅僅是合規的問題,而是要確保所有用戶都能平等地獲取信息,同時避免與無障礙訪問違規相關的潛在法律問題。
IronOCR 方法為何如此簡單?
Chipego 示範了 IronOCR 如何僅用幾行程式碼將普通的、不合規的 PDF 轉換為完全符合 PDF/UA 規範的文件。
using IronOcr;
using IronPdf;
// Initialize IronOCR
var ocr = new IronTesseract();
// Configure OCR for accessibility compliance
ocr.Configuration.ReadBarCodes = true;
ocr.Configuration.RenderSearchablePdf = true;
// Read the scanned PDF
using var input = new OcrInput();
input.AddPdf("scanned-document.pdf");
// Perform OCR and create searchable PDF/UA compliant document
var result = ocr.Read(input);
result.SaveAsSearchablePdf("compliant-output.pdf");
using IronOcr;
using IronPdf;
// Initialize IronOCR
var ocr = new IronTesseract();
// Configure OCR for accessibility compliance
ocr.Configuration.ReadBarCodes = true;
ocr.Configuration.RenderSearchablePdf = true;
// Read the scanned PDF
using var input = new OcrInput();
input.AddPdf("scanned-document.pdf");
// Perform OCR and create searchable PDF/UA compliant document
var result = ocr.Read(input);
result.SaveAsSearchablePdf("compliant-output.pdf");
Imports IronOcr
Imports IronPdf
' Initialize IronOCR
Dim ocr As New IronTesseract()
' Configure OCR for accessibility compliance
ocr.Configuration.ReadBarCodes = True
ocr.Configuration.RenderSearchablePdf = True
' Read the scanned PDF
Using input As New OcrInput()
input.AddPdf("scanned-document.pdf")
' Perform OCR and create searchable PDF/UA compliant document
Dim result = ocr.Read(input)
result.SaveAsSearchablePdf("compliant-output.pdf")
End Using
使用 VeraPDF(一種用於驗證可訪問性和存檔標準的工具)對結果進行了驗證。 對於需要證明符合稽核或監管要求的組織而言,此驗證步驟至關重要。
誰能從PDF/UA合規性中獲益最多?
PDF/UA 合規性可確保視障使用者可以使用螢幕閱讀器存取您的文檔,從而支援法律合規性和包容性設計。 政府機構、教育機構和醫療機構尤其受益,因為它們通常有嚴格的無障礙要求。 此外,在歐盟開展業務的公司必須遵守《歐洲無障礙法案》,因此符合 PDF/UA 標準對於進入市場至關重要。
如何使掃描的PDF檔案可搜尋?
這解決了什麼問題?
你有沒有遇過那種看起來像 PDF 檔案但實際開啟方式卻像圖片一樣的掃描文件? 這時就需要用到OCR技術了。 許多企業都面臨著包含數千個掃描 PDF 文件的舊文件存檔的難題——這些文件佔用儲存空間,但無法進行搜尋或提取資料。 如果沒有 OCR 技術,員工將浪費無數時間手動搜尋文檔,導致生產力下降和營運成本增加。
轉換過程是如何運作的?
Chipego 展示了 IronOCR 如何將不可搜尋的掃描 PDF 轉換為可搜尋的 PDF ,從而立即實現全文搜尋功能。 該過程涉及多個複雜步驟:
using IronOcr;
// Create a new OCR engine instance
var ocr = new IronTesseract();
// Configure language and accuracy settings
ocr.Language = OcrLanguage.English;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Load the scanned PDF
using var input = new OcrInput();
input.AddPdf("invoice-scan.pdf");
// Apply image improve for better accuracy
input.DeNoise();
input.Deskew();
input.EnhanceResolution(225);
// Perform OCR and save as searchable PDF
var result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-invoice.pdf");
// Extract text for indexing
string extractedText = result.Text;
Console.WriteLine($"Extracted {extractedText.Length} characters");
using IronOcr;
// Create a new OCR engine instance
var ocr = new IronTesseract();
// Configure language and accuracy settings
ocr.Language = OcrLanguage.English;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Load the scanned PDF
using var input = new OcrInput();
input.AddPdf("invoice-scan.pdf");
// Apply image improve for better accuracy
input.DeNoise();
input.Deskew();
input.EnhanceResolution(225);
// Perform OCR and save as searchable PDF
var result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-invoice.pdf");
// Extract text for indexing
string extractedText = result.Text;
Console.WriteLine($"Extracted {extractedText.Length} characters");
Imports IronOcr
' Create a new OCR engine instance
Dim ocr As New IronTesseract()
' Configure language and accuracy settings
ocr.Language = OcrLanguage.English
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Load the scanned PDF
Using input As New OcrInput()
input.AddPdf("invoice-scan.pdf")
' Apply image improve for better accuracy
input.DeNoise()
input.Deskew()
input.EnhanceResolution(225)
' Perform OCR and save as searchable PDF
Dim result = ocr.Read(input)
result.SaveAsSearchablePdf("searchable-invoice.pdf")
' Extract text for indexing
Dim extractedText As String = result.Text
Console.WriteLine($"Extracted {extractedText.Length} characters")
End Using
轉換後,使用者可以使用 Ctrl+F 尋找特定內容,或按日期、姓名或文件主題等關鍵字進行搜尋。 OCR引擎能夠智慧地保留原始文件佈局,同時添加一個不可見的文字層,使內容可搜尋和可選擇。
哪些行業最能從可搜尋的PDF中受益?
非常適合: 處理案件檔案和合約的律師事務所
- 管理病患記錄的醫療機構
- 需要快速內容搜尋的紙本記錄數位化團隊
- 金融機構的發票處理和合規性 房地產公司將房地產文件數位化
據業內人士估計,在大型文件庫中快速查找特定資訊的能力可以將搜尋時間縮短高達 90%。
如何從PDF文件中提取特定數據?
何時應該使用靶向提取?
對於處理大量結構化文件(如收據、採購訂單或發票)的企業,Chipego 示範了 IronOCR 如何使用邊界框座標從特定的 PDF 區域提取資料。 這種有針對性的方法在處理標準化表格時尤其有價值,因為關鍵資訊會出現在一致的位置,例如發票上的總金額、合約上的日期或訂單上的客戶 ID。
區域處理如何提高效能?
IronOCR 不會處理整個文件,而是只關注訂單號、總計或地址等相關字段,從而顯著提高速度並降低雲端或運算成本。 以下是如何實現目標提取:
using IronOcr;
using System.Drawing;
var ocr = new IronTesseract();
// Load PDF and define extraction regions
using var input = new OcrInput();
input.AddPdf("purchase-order.pdf", 1); // Process first page only
// Define bounding box for PO number field (x, y, width, height)
var poNumberArea = new Rectangle(450, 100, 150, 50);
input.AddPdfPage("purchase-order.pdf", 1, poNumberArea);
// Extract just the PO number
var result = ocr.Read(input);
string poNumber = result.Text.Trim();
// Define multiple regions for batch extraction
var regions = new Dictionary<string, Rectangle>
{
{ "PONumber", new Rectangle(450, 100, 150, 50) },
{ "TotalAmount", new Rectangle(450, 600, 150, 50) },
{ "VendorName", new Rectangle(50, 200, 300, 50) }
};
// Extract data from each region
var extractedData = new Dictionary<string, string>();
foreach (var region in regions)
{
input.Clear();
input.AddPdfPage("purchase-order.pdf", 1, region.Value);
var regionResult = ocr.Read(input);
extractedData[region.Key] = regionResult.Text.Trim();
}
using IronOcr;
using System.Drawing;
var ocr = new IronTesseract();
// Load PDF and define extraction regions
using var input = new OcrInput();
input.AddPdf("purchase-order.pdf", 1); // Process first page only
// Define bounding box for PO number field (x, y, width, height)
var poNumberArea = new Rectangle(450, 100, 150, 50);
input.AddPdfPage("purchase-order.pdf", 1, poNumberArea);
// Extract just the PO number
var result = ocr.Read(input);
string poNumber = result.Text.Trim();
// Define multiple regions for batch extraction
var regions = new Dictionary<string, Rectangle>
{
{ "PONumber", new Rectangle(450, 100, 150, 50) },
{ "TotalAmount", new Rectangle(450, 600, 150, 50) },
{ "VendorName", new Rectangle(50, 200, 300, 50) }
};
// Extract data from each region
var extractedData = new Dictionary<string, string>();
foreach (var region in regions)
{
input.Clear();
input.AddPdfPage("purchase-order.pdf", 1, region.Value);
var regionResult = ocr.Read(input);
extractedData[region.Key] = regionResult.Text.Trim();
}
Imports IronOcr
Imports System.Drawing
Dim ocr As New IronTesseract()
' Load PDF and define extraction regions
Using input As New OcrInput()
input.AddPdf("purchase-order.pdf", 1) ' Process first page only
' Define bounding box for PO number field (x, y, width, height)
Dim poNumberArea As New Rectangle(450, 100, 150, 50)
input.AddPdfPage("purchase-order.pdf", 1, poNumberArea)
' Extract just the PO number
Dim result = ocr.Read(input)
Dim poNumber As String = result.Text.Trim()
' Define multiple regions for batch extraction
Dim regions As New Dictionary(Of String, Rectangle) From {
{"PONumber", New Rectangle(450, 100, 150, 50)},
{"TotalAmount", New Rectangle(450, 600, 150, 50)},
{"VendorName", New Rectangle(50, 200, 300, 50)}
}
' Extract data from each region
Dim extractedData As New Dictionary(Of String, String)()
For Each region In regions
input.Clear()
input.AddPdfPage("purchase-order.pdf", 1, region.Value)
Dim regionResult = ocr.Read(input)
extractedData(region.Key) = regionResult.Text.Trim()
Next
End Using
與全頁 OCR 相比,這種有針對性的方法可以減少 70-80% 的處理時間,使其成為大批量文件處理場景的理想選擇。
企業能從中獲得哪些好處?
這可以自動執行重複的資料輸入任務,減少人工勞動,提高準確性,並使團隊能夠從事更有價值的工作。 據各公司反映,光是資料輸入一項,每週就能節省 20-30 小時。 提取的資料可以自動匯出到資料庫,與現有系統集成,或觸發自動化工作流程。 例如,提取的發票總額可以自動更新會計系統,而提取的客戶資訊可以自動填入 CRM 記錄,無需人工幹預。
IronOCR如何處理大規模自動化?
IronOCR可以同時處理多個檔案嗎?
雖然網路研討會展示了一些具體的程式碼範例,但 IronOCR 是為大規模批量處理而構建的。 無論您是要轉換數百或數千個文件還是數百萬個文件,IronOCR 都能輕鬆整合到您現有的系統中。 此企業解決方案支援多執行緒和分散式處理,使組織能夠每小時處理數千份文件。 以下是一個批量處理範例:
using IronOcr;
using System.IO;
using System.Threading.Tasks;
public async Task ProcessDocumentBatch(string folderPath)
{
var ocr = new IronTesseract();
ocr.Configuration.RenderSearchablePdf = true;
// Get all PDF files in directory
var pdfFiles = Directory.GetFiles(folderPath, "*.pdf");
// Process files in parallel for maximum efficiency
await Parallel.ForEachAsync(pdfFiles, async (file, ct) =>
{
using var input = new OcrInput();
input.AddPdf(file);
var result = await Task.Run(() => ocr.Read(input));
// Save searchable version
var outputPath = Path.Combine(folderPath, "searchable", Path.GetFileName(file));
result.SaveAsSearchablePdf(outputPath);
// Log processing results
Console.WriteLine($"Processed: {file} - {result.Pages.Length} pages");
});
}
using IronOcr;
using System.IO;
using System.Threading.Tasks;
public async Task ProcessDocumentBatch(string folderPath)
{
var ocr = new IronTesseract();
ocr.Configuration.RenderSearchablePdf = true;
// Get all PDF files in directory
var pdfFiles = Directory.GetFiles(folderPath, "*.pdf");
// Process files in parallel for maximum efficiency
await Parallel.ForEachAsync(pdfFiles, async (file, ct) =>
{
using var input = new OcrInput();
input.AddPdf(file);
var result = await Task.Run(() => ocr.Read(input));
// Save searchable version
var outputPath = Path.Combine(folderPath, "searchable", Path.GetFileName(file));
result.SaveAsSearchablePdf(outputPath);
// Log processing results
Console.WriteLine($"Processed: {file} - {result.Pages.Length} pages");
});
}
Imports IronOcr
Imports System.IO
Imports System.Threading.Tasks
Public Async Function ProcessDocumentBatch(folderPath As String) As Task
Dim ocr As New IronTesseract()
ocr.Configuration.RenderSearchablePdf = True
' Get all PDF files in directory
Dim pdfFiles = Directory.GetFiles(folderPath, "*.pdf")
' Process files in parallel for maximum efficiency
Await Task.WhenAll(pdfFiles.Select(Function(file) Task.Run(Async Function()
Using input As New OcrInput()
input.AddPdf(file)
Dim result = Await Task.Run(Function() ocr.Read(input))
' Save searchable version
Dim outputPath = Path.Combine(folderPath, "searchable", Path.GetFileName(file))
result.SaveAsSearchablePdf(outputPath)
' Log processing results
Console.WriteLine($"Processed: {file} - {result.Pages.Length} pages")
End Using
End Function)))
End Function
有哪些支援選項?
需要幫助? Iron Software 提供每週 5 天、每天 24 小時的線上聊天和電子郵件技術支援,幫助您快速上手。 他們的支援團隊包括 OCR 專家,無論您是處理具有挑戰性的文件類型、多種語言還是複雜的整合要求,他們都可以幫助您改進具體的用例。 此外,完整的文件和程式碼範例有助於開發人員獨立實現解決方案。
準備好讓您的 PDF 文件可搜尋、合規且支援自動化處理了嗎?
IronOCR 將文件處理從人工瓶頸轉變為自動化工作流程。 它支援超過 125 種語言,具備高階影像預處理功能和流暢的 PDF 處理能力,是現代文件管理的完整解決方案。 無論您是確保合規性、啟用搜尋功能或提取關鍵數據,IronOCR 都能提供專業的 OCR 功能,並且易於開發人員實作。
查看 IronOCR 的完整文檔,立即開始使用:
常見問題解答
我如何將掃描的 PDF 轉換為可搜索的文件?
您可以使用 IronOCR 將不可搜索的掃描 PDF 轉換為完全可搜索的文件。通過應用 OCR 技術,啟用全文搜索功能,允許您使用關鍵詞或短語查找特定內容。
使 PDF 符合 PDF/UA 標準的好處是什麼?
使 PDF 符合 PDF/UA 標準確保通過屏幕閱讀器為視障用戶提供可訪問性。IronOCR 可以通過幾行代碼將不合規的 PDF 轉換為符合 PDF/UA 的文件,並由 VeraPDF 之類的工具進行驗證。
IronOCR 如何幫助從 PDF 中進行針對性數據提取?
IronOCR 可以使用邊界框坐標從 PDF 的特定區域提取數據。該功能對於收據或發票等結構化文件特別有用,允許您專注於相關字段並提高處理效率。
IronOCR 在自動化文檔處理任務中的角色是什麼?
IronOCR 專為大規模批量處理而設計,使其成為自動化文檔轉換任務的理想選擇。它可以有效地處理大量文件,無縫集成到現有系統中以精簡工作流。
誰會從將掃描的 PDF 轉換為可搜索格式中受益?
組織如律師事務所和醫療機構從將掃描的 PDF 轉換為可搜索格式中受益。這使得能夠在廣泛的檔案中進行快速的、基於內容的搜索,簡化信息檢索。
對於實施 IronOCR 的用戶有哪些支援選項?
Iron Software 提供每周 24 小時的技術支援通過聊天和電子郵件幫助用戶實施 IronOCR。這種支持確保用戶能夠有效地管理他們的文檔轉換項目並解決任何技術問題。
我如何確保我的文檔轉換項目成功?
為了確保成功,利用 IronOCR 的強大功能,並利用 Iron Software 提供的技術支援。訪問他們官方網站上的完整文檔,並考慮他們的 30 天試用來探索其能力。

