using 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合規對市場准入至關重要。
展示使用IronOCR建立可搜尋的PDF時顯示的文件比較(前後對比)
如何使掃描的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%。
IronOCR介面顯示轉換後的PDF中文字提取和搜尋功能
如何從PDF中提取特定資料?
何時應使用目標提取?
對於處理大量結構化文件(如收據、PO或發票)的企業,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提供24/5技術支援,通過聊天和電子郵件助您快速上手。 他們的支援團隊包括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提供5天24小時的技術支援,透過聊天和電子郵件協助使用者實施IronOCR。此支援確保使用者能有效管理其文件轉換項目並解決任何技術問題。
我如何確保我的文件轉換項目成功?
為確保成功,利用IronOCR的強大功能,並利用Iron Software提供的技術支援。在他們的官方網站上存取完整的文件,並考慮其30天試用版以探索其功能。



