如何将 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

相关推荐
没有bug.的程序员9 分钟前
《常见高频算法题 Java 解法实战精讲(1):链表与数组》
java·算法·链表·数组
写bug写bug28 分钟前
搞懂Spring任务执行器和调度器模型
java·后端·spring
熊猫片沃子41 分钟前
Maven在使用过程中的核心知识点总结
java·后端·maven
都叫我大帅哥42 分钟前
🌊 限流算法百科全书:从原理到实践,一篇搞定高并发流量管控
java·算法
tanxiaomi44 分钟前
✨ 基于 JsonSerialize 实现接口返回数据的智能枚举转换(优雅告别前端硬编码!)
java·前端·spring·spring cloud·mybatis
Cx330❀1 小时前
【数据结构初阶】--二叉树(三)
c语言·数据结构·经验分享·笔记
星你1 小时前
用Spring Boot 搭建自己的 MCP Server
java·后端
回家路上绕了弯2 小时前
深度理解 volatile 与 synchronized:并发编程的两把钥匙
java·后端
程序员清风2 小时前
ThreadLocal在什么情况下会导OOM?
java·后端·面试
Asmalin4 小时前
【代码随想录day 16】 力扣 112. 路径总和
java·算法·leetcode