如何将 PDF 中的文本提取为 JSON 格式

一些 PDF 文件是"带标签"的,意味着它们包含关于文件结构的信息。这种结构作为元数据嵌入在 PDF 中,由一系列标签组成,用于标记诸如标题、段落、列表、表格和图像等元素。

这非常类似于 HTML,其中的文本包含在具有语义意义的元素中,例如表示段落的 <p> 或表示表格的 <table>。

如果 PDF 文件确实包含结构化内容(也称为标记内容),那么它就可以被处理并转换为其他格式。

什么是 JSON?

JSON(JavaScript 对象表示法的缩写)是一种轻量级、基于文本的格式,用于在系统之间存储和交换结构化数据。

它以键值对和数组的形式表示数据,使得机器和开发者都能轻松读取和编写。JSON 被广泛用于 Web 应用中,在服务器和客户端之间传输数据,而且被大多数编程语言原生支持。

尽管起源于 JavaScript,但 JSON 是一种语言无关的格式,已成为 API 和软件系统中通用的数据格式。

PDF 与 JSON 的区别

这两种格式有着截然不同的用途。PDF 保留了文档的固定视觉布局,非常适合用于分享可供打印的内容,例如报告、合同和官方文档。它被广泛应用于需要在不同设备间保持外观一致性的场景中,是最受支持的文档格式之一。

相比之下,JSON 不是为展示而设计的,而是为了数据交换和存储。JSON 通常用于 Web 开发、API 和软件应用中,用于在服务器和客户端之间发送结构化数据,如用户资料、设置或实时内容。

JSON 可以直接被文本编辑器(如 Visual Studio Code)导入,而不影响其结构;但 PDF 文件则不具备这样的灵活性。由于其结构化的特点,JSON 也更适合被像大型语言模型这样的 AI 技术抓取和理解。

将结构化 PDF 文件转换为 JSON

我们最近在 JPedal 中添加了 PDF 转 JSON 的支持。如果你的 PDF 文件包含结构化内容(怎么知道呢?),那么 JPedal 可以使用以下代码片段将其转换为 JSON:

ExtractStructuredTextProperties properties = new ExtractStructuredTextProperties();

properties.setFileOutputMode(OutputModes.JSON);

ExtractStructuredText.writeAllStructuredTextOutlinesToDir("inputFile.pdf", password, "outputFolder", null, null);

了解更多有关带标签 PDF 的信息
了解更多关于 JPedal ------ 我们强大的 PDF 工具包

本指南演示了如何使用几行 Java 代码将结构化的 PDF 文件转换为 JSON 格式。同时,它还介绍了 PDF 和 JSON 之间的关键区别,帮助你判断哪种格式最适合你的需求。

想要更深入了解 PDF?请阅读我们的其他文章 ------ 我们已经专注这一格式超过十年!

我们的主页:PDF 转 HTML5、Java 图像库、Java PDF SDK - IDRsolutions

相关推荐
JIAOZHANZHISHIKU12 小时前
机器人外壳粘接性价比怎么选?3M VHB 胶带与结构胶解决方案
经验分享·机器人·工业胶粘剂·3m胶粘剂
学长毕设14 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
zzu123zsw15 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
源码集结号16 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
论文复现现场16 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
长不大的杨瑞杰16 小时前
OpenCode v2 会话可靠性实战:Snapshots、Compaction、Instructions 与 Formatters
人工智能·安全·云计算·软件工程·devops
啃瓜子的松鼠17 小时前
泛微OAe9-后端二开异步调用
java
海绵宝宝的月光宝盒17 小时前
14-AutoCAD-阵列命令应用与案例实战(AR)
经验分享·笔记·自动化·课程设计·制造·学习方法·cad
秋天的怀念_David17 小时前
第二十一夜 · 数字黑洞与西西弗斯的惩罚
java·程序人生·算法
外收内放17 小时前
Python基础语法练习题(73)
java·前端·python