前言
PDF 文件是一种非常常用的文件格式,在企业信息系统存储和交换信息中普遍使用。然而从 PDF 文档中获取表格段落等文档内容却是一件非常麻烦的事情,这是因为pdf的设计初衷是基于文档显示的,为了能保证在不同平台中完全一致的视觉效果,文档以页为单位存储的是一系列包含线条、字符、图片等基本元素的绘图指令。基于这个原因,pdf文档不能像word文档一样直接获取表格和段落,如要获取结构化的文档内容,需要在获取字符、线条等图形及坐标基础上按阅读顺序把含线条、字符、图片等基本元素拼接成文档,过程十分复杂,而且需要不断优化才能达到满意的效果。
PDFBox是apache基金会旗下的一个为java开发人员读取和创建PDF文档而准备的纯Java开源类库。通过PDFBox可以轻松解析PDF文档并逐页获取图形元素及坐标。
pdftranspro是基于PDFBox的一款专业 pdf 文本内容提取软件,支持windows和linux平台,经过数年的持续改进其内容提取能力已经达到令人惊艳的地步,不仅能对跨页、跨栏的段落或表格进行合并处理,精确还原整篇文档内的段落和表格,而且可以同时输出html、xml、json、txt 等 4 种格式,方便用户高效获取 pdf 文档内的精确信息或数据。pdftranspro也提供 pdf文档截取合并等实用的 pdf 编辑功能。其个人版提供操作界面,可以一键处理单个pdf文档,个人用户免费使用;其收费版可以通过控制台方式或SDK方式集成pdf转换功能,需取得licence文件才能使用,用户可免费试用。
各版本及功能
版本 | 功能 | 平台 | 应用场景 |
免费版 | 以界面方式执行单个 pdf 文档转换、截取或合并 pdf 文档。 | Windows/linux | 适用于手动方式对 pdf 文档进行转换、截取、合并等。个人用户免注册,无需授权。 |
单任务版 | 增加界面方式连续单任务执行批量 pdf 文档转换功能。 | Windows/linux | 适用于批量 pdf 文档转换,无需手动逐个转换,单任务方式处理。 |
多任务版 | 增加界面方式连续多任务执行批量 pdf 文档转换功能。 | Windows/linux | 适用于大批量 pdf 文档转换,最多可设置 10 个并发处理数。 |
控制台版 | 增加命令行方式调用 PDF 文档转换功能。 | Windows/linux | 适用于以工作流方式集成 pdf 文档转换功能。 |
SDK版 | 增加 Java 调用 SDK 方式执行PDF 文档转换功能。 | Windows/linux | 适用于以Java调用SDK方式集成pdf文档转换功能,可返回转换文本。 |
效果展示
运行界面截图如下:
其中转换样式有“标记页码”和“跨页合并”两种样式可选。输出格式有html、xml、json、txt四种格式可选。以下图pdf为例说明如下:
以 “标记页码”样式输出html文件截图如下:
以 “跨页合并”样式输出html文件截图如下:
针对有单元格合并的表格,在输出xml、json、txt格式文件中可还原合并单元格,pdf截图如下:
输出txt文件截图如下:
针对页面中有分栏的情况,可以按阅读顺序衔接,pdf截图如下:
输出html文件截图如下:
更多详细资料
手把手教你用pdftranspro命令行提取pdf文档内容(含表格及段落)
下载链
本文完。