技术文章

使用 PDFium VCL 在 Delphi 中从 PDF 文档中提取文本。

· PDF 编程

文本提取是 PDF 处理中最常见的任务之一。无论您是在构建文档搜索引擎、数据挖掘应用程序还是内容管理系统,从 PDF 文件中提取文本的能力都是至关重要的。本教程涵盖了 提取文本 演示,它展示了如何使用 PDFium VCL 从 PDF 文档中提取文本内容。

概述

提取文本演示程序演示了如何从 PDF 文档中提取所有文本内容并将其保存到文本文件中。它支持页面范围选择、段落保留,并能正确处理特殊字符。

主要特性

  • 完整文档提取 – 提取所有页面的文本
  • 页面范围选择 – 仅提取特定页面的文本
  • 段落检测 – 保留基于字符位置的段落结构。
  • 特殊字符处理。 – 可选项:从输出中移除 NUL 字符。
  • 页面分隔符。 – 可选项:页面之间添加空行。
  • 进度跟踪 – 视觉进度条和详细日志记录。
  • UTF-8 输出。 – 针对国际文档,正确编码的文本输出。
  • 字符级别访问 – 访问单个字符以进行高级处理

PDFium DLL 的要求

在运行任何 PDFium VCL 应用程序之前,请确保已安装 PDFium DLL 文件:

  • pdfium32.dll / pdfium64.dll – 标准版本(约 5-6 MB)
  • pdfium32v8.dll / pdfium64v8.dll – 包含 V8 JavaScript 引擎的版本(约 23-27 MB)

安装: 运行 PDFiumVCL\DLLs\CopyDlls.bat 以管理员身份,自动将 DLL 文件复制到 Windows 系统目录。

基础文本提取

从 PDF 页面提取文本的最简单方法:

从所有页面提取

循环遍历所有页面以提取完整的文档文本:

提取文本并保留段落结构。

对于段落结构非常重要的文档,请使用字符位置分析。

清理提取的文本。

移除空字符并规范化文本。

从特定区域提取文本。

从页面上的矩形区域提取文本。

字符级别访问

为了进行精确的文本分析,访问单个字符:

查找屏幕位置处的字符

对于文本选择和交互非常有用:

处理错误和边界情况

性能考量

  • 逐页提取文本,而不是将所有内容加载到内存中。
  • 对于大型文档,请使用流式文件输出。
  • 在循环中使用。 Application.ProcessMessages 用于提高UI响应速度。
  • 考虑对多个文档进行批量处理。

结论。

"Extract Text" 示例展示了 PDFium VCL 如何使文本提取变得简单可靠。 无论您需要基本的文本提取还是高级的基于段落的处理,该组件都提供所有必要的工具。

字符级别的访问允许进行复杂的文本分析,而简单的。 Text property 可以用一行代码处理大多数常见用例。

开始构建 您的文本提取解决方案。 PDFium VCL 组件 今天。