跳至页脚内容
使用 IRONOCR
用IronOCR释放可搜索PDF的力量

使用 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");
$vbLabelText   $csharpLabel

翻译结果使用 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");
$vbLabelText   $csharpLabel

转换后,用户可以使用 Ctrl+F 查找特定内容,或者按日期、姓名或文档主题等关键字进行搜索。 OCR引擎能够智能地保留原始文档布局,同时添加一个不可见的文本层,使内容可搜索和可选择。

哪些行业最能从可搜索的PDF中受益?

非常适合: 处理案件档案和合同的律师事务所

  • 管理患者记录的医疗机构
  • 需要快速内容搜索的纸质记录数字化团队
  • 金融机构的发票处理和合规性 房地产公司将房产文件数字化

据业内人士估计,在大型文档库中快速查找特定信息的能力可以将搜索时间缩短高达 90%。

IronOCR界面展示了转换后的PDF文件中的文本提取和搜索功能

如何从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();
}
$vbLabelText   $csharpLabel

与全页 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");
    });
}
$vbLabelText   $csharpLabel

有哪些支持选项?

需要帮助?Iron Software 提供每周 5 天、每天 24 小时的在线聊天和电子邮件技术支持,助您快速上手。 他们的支持团队包括 OCR 专家,无论您是处理具有挑战性的文档类型、多种语言还是复杂的集成要求,他们都可以帮助您改进具体的用例。 此外,完整的文档和代码示例可帮助开发人员独立实现解决方案。

准备好让您的 PDF 文件可搜索、合规且支持自动化了吗?

IronOCR 将文档处理从人工瓶颈转变为自动化工作流程。 它支持超过 125 种语言,具备高级图像预处理功能和流畅的 PDF 处理能力,是现代文档管理的完整解决方案。 无论您是确保合规性、启用搜索功能还是提取关键数据,IronOCR 都能提供专业的 OCR 功能,并且易于开发人员实施。

查看 IronOCR 的完整文档,立即开始使用:

试用 30 天

常见问题解答

如何将扫描的 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/5 的技术支持,通过聊天和电子邮件帮助用户实施 IronOCR。此支持确保用户可以有效管理其文档转换项目并解决任何技术问题。

如何确保我的文档转换项目成功?

要确保成功,请利用 IronOCR 的强大功能并利用 Iron Software 提供的技术支持。在其官方网站上访问完整的文档,并考虑其 30 天试用期以探索其功能。

Kannaopat Udonpant
软件工程师
在成为软件工程师之前,Kannapat 在日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了车辆机器人实验室的成员,隶属于生物生产工程系。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他可以直接从编写大多数 IronPDF 代码的开发者那里学习。除了同行学习外,Kannapat 还喜欢在 Iron Software 工作的社交方面。不撰写代码或文档时,Kannapat 通常可以在他的 PS5 上玩游戏或重温《最后生还者》。