PDF转JSON转换器
把PDF里的表格提取出来,转成JSON记录。表头行提供键名,每个表格行生成一个对象,结果可以直接载入代码使用。
数据转换器
或将CSV, TSV, TXT … 文件拖放到此处 ·
单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除
文件在我们的服务器上处理,并在 30 分钟后删除。
CSV 和文本文件中分隔列的字符,读取和写入都适用。自动会从输入中检测,并以逗号写出。
UTF-8 适用于所有语言。如果 Windows 上的 Excel 打开 CSV 时重音字符或中日韩文字显示乱码,请选择带 BOM 的 UTF-8。
输入为 Excel、ODS 和 Numbers 时:只转换第一个工作表,或转换所有工作表(ZIP 中每个工作表一个 CSV,或 JSON 中每个工作表一个键)。
新电子表格中工作表标签的名称,最多 31 个字符。
对象数组会为每一行使用列名作为键;数组的数组更紧凑,并把表头作为第一个数组。
包裹所有行的外层元素名称;每一行会成为其中的一个 <row>。
用于 CREATE TABLE 和 INSERT 语句。只能使用字母、数字和下划线。
不同数据库的引号和列类型略有差异;请选择您要导入的数据库。
把日期单元格统一改写为一种格式。ISO (2026-10-18) 对数据库和代码最稳妥;保持原样则保留源文件中的显示方式。
使用方法
- 1
上传PDF
添加包含表格的对账单、价目表或报告。每批最多 20 个 PDF,每个不超过 95 MB。
- 2
选择JSON结构
JSON 结构默认为“对象数组”。如果表格没有可用的表头行,请在高级设置中切换为“数组的数组”。
- 3
转换并检查
点击转换为 JSON,下载文件,并在脚本使用之前,将几条记录与 PDF 核对一遍。
PDF转JSON会读取 PDF 中的表格,以列标题作为键,把每一行写成一个 JSON 对象,让锁在可打印文档里的数据变成代码可以遍历的内容。
为什么PDF并不知道自己包含表格
Adobe 于 1993 年推出 PDF,目的是让页面在任何地方看起来都一样。该格式在 2008 年被标准化为 ISO 32000-1,至今仍以页面为单位。在文件内部,表格只是按 x、y 坐标绘制的一组文本片段,片段之间通常画有几条线。除非作者导出的是带标签的 PDF(PDF 1.4 中新增的选项,许多工具仍然不支持),否则文件中没有行、列和表头的概念。
因此,要得到 JSON,就必须重建表格:把基线相同的片段归为一行,找出分隔各列的垂直空隙,并把顶行当作列名。对于从记账软件、电子表格和报表工具导出的 PDF,效果很好,因为每个单元格都位于规整的行上。但对于在排版软件中手工绘制的表格、跨多列的单元格以及任何扫描件,效果不佳。
谁需要把PDF转成JSON,用来做什么
发票与对账单解析
开发者收到的供应商发票或银行对账单是 PDF,需要把明细行变成记录,以便与订单核对。
已发布的参考表格
资费表、费率表和价目表往往只以 PDF 形式发布。转成 JSON 后,应用或网站无需重新录入即可加载。
测试数据与原型
产品团队把规格文档中的表格变成测试用的固定数据或模拟 API。
PDF发票表格转换后的JSON示例
[
{
"Item": "Paper A4, 500 sheets",
"Qty": 4,
"Amount": 23.96
},
{
"Item": "Toner cartridge",
"Qty": 1,
"Amount": 64
}
]哪些PDF能转换为JSON,哪些不能
| from ↓ · to → | JSON | CSV | XLSX |
|---|---|---|---|
| 由软件导出的 PDF | 由软件导出的 PDF to JSON: yes | 由软件导出的 PDF to CSV: yes | 由软件导出的 PDF to XLSX: yes |
| 扫描或拍照生成的 PDF | – 扫描或拍照生成的 PDF to JSON: no | – 扫描或拍照生成的 PDF to CSV: no | – 扫描或拍照生成的 PDF to XLSX: no |
便携式文档格式(PDF)
PDF 由 Adobe 于 1993 年创建,并在 2008 年成为开放的 ISO 32000 标准。它固定了文字、字体、图片和版式,使文档在每块屏幕和每台打印机上看起来都一样。PDF 可以包含表单、签名、链接、附件和可搜索文本,其中 PDF/A 变体用于长期归档。固定的版式使 PDF 难以编辑,而扫描版 PDF 除非经过 OCR,否则只包含图片。所有浏览器和操作系统都能打开。
- 压缩方式
- –
- 透明度
- 支持
- 动画
- 不支持
- 发布年份
- 1993 · Adobe
JSON
JavaScript 对象表示法
JSON 是一种轻量级结构化数据文本格式,由 Douglas Crockford 在 21 世纪初推广,并被标准化为 RFC 8259 和 ECMA-404。它用简单易读的语法表示对象、数组、字符串、数字、布尔值和 null。它是网络 API、配置文件以及几乎所有编程语言之间数据交换的默认格式。它没有内置注释、日期或模式,嵌套很深的大文件没有查看器就很难阅读。
- 压缩方式
- –
- 透明度
- –
- 动画
- –
- 发布年份
- 2001 · Douglas Crockford
当为阅读而发布的文档需要提供给程序使用时,就需要把 PDF 转为 JSON:把发票明细导入记账脚本,把公布的费率表载入应用,或把报告中的数字用于 API 调用。
PDF转JSON常见问题
扫描版PDF可以转换为JSON吗?
不能直接转换。扫描件只是一张页面图片,没有可供转换器读取的字符。请先用图片转文字工具进行文字识别,再转换识别出的表格。
JSON里的键名从哪里来?
开启首行为表头时,键名取自每个表格的第一行,所以标题为 Amount 的列会在每条记录中成为键 Amount。如果第一行本身就是数据,请关闭该设置并选择“数组的数组”,每一行会被写成一个普通列表。
为什么€1.234,50这样的金额仍是字符串?
按 RFC 8259 的定义,JSON 数字只允许数字、一个小数点、负号和指数,不能有其他内容。货币符号或千位分隔符会让该值变成文本。请在代码中去掉这些符号,或先在电子表格中清理该列。
PDF表格转JSON好还是转CSV好?
后续由代码读取时用 JSON,因为每个值都带有键,之后也可以嵌套。后续由电子表格或导入页面读取时用 CSV;PDF转CSV会把同样的行写成纯文本行。
JSON会保留PDF的版式吗?
不会。字体、颜色、分页、徽标以及表格在页面上的位置都属于呈现效果,而 JSON 只保存数值。得到的是按阅读顺序排列的单元格内容。