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

相关推荐
a5876921 小时前
Elasticsearch核心概念与Java实战:从入门到精通
java·es
Brookty21 小时前
【JavaEE】线程安全-内存可见性、指令全排序
java·开发语言·后端·java-ee·线程安全·内存可见性·指令重排序
tellmewhoisi1 天前
前置配置1:nacos 基本配置(注册与发现)
java
会开花的二叉树1 天前
继承与组合:C++面向对象的核心
java·开发语言·c++
长河1 天前
Java开发者LLM实战——LangChain4j最新版教学知识库实战
java·开发语言
Cyan_RA91 天前
SpringMVC @RequestMapping的使用演示和细节 详解
java·开发语言·后端·spring·mvc·ssm·springmvc
喵手1 天前
玩转Java网络编程:基于Socket的服务器和客户端开发!
java·服务器·网络
再见晴天*_*1 天前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
hdsoft_huge1 天前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
雨白1 天前
Java 多线程指南:从基础用法到线程安全
android·java