从PDF发票中提取指定字段:
发票号码、金额、税额批量到Excel
PDF发票的提取有一个图片发票没有的麻烦:同样是PDF,内部结构可能完全不同。电子发票PDF里有可复制的文字层;扫描件PDF是图片打包成PDF;还有一种是PDF里嵌了图片,文字层根本没有,或者有但错位了。同一批发票里这三种混在一起,用传统工具处理,结果往往缺字段、乱格式。本文说清楚这个问题,以及AI处理方式如何把它变成不需要你操心的细节。
PDF发票的主要类型
把所有PDF发票当成同一种文件处理,是大多数提取工具出错的根源。实际使用中,PDF发票至少分三类,内部结构差异显著。
| 类型 | 来源 | 内部结构 | 提取难度 |
|---|---|---|---|
| 文字型电子发票PDF | 税务局开具的增值税电子发票、全电发票 | 包含真实文字层,可直接复制文字 | 较低 |
| 扫描件PDF | 纸质发票扫描或复印后转PDF | 纯图片,无文字层,依赖OCR | 中等 |
| 图片嵌入PDF | 截图插入PDF、发票图片打包成PDF | 图片封装在PDF容器内,文字层缺失或错位 | 较高 |
实践中还有一种混合情况:开票软件生成的PDF同时包含文字层和图片背景,文字层的字符位置有时和视觉位置不对应,导致直接解析文字层得到乱码或错误字段。这种情况在一些非主流开票系统里并不罕见。
不同类型PDF的提取挑战
了解这三类PDF的具体挑战,有助于判断工具是否真正处理了它们,还是只解决了最简单的情形。
文字型电子发票PDF
文字层本身可以读取,但字段识别仍然依赖语义理解。不同开票软件对同一字段的标注方式不同——"销售方名称"在另一家软件里可能是"开票单位"或"供应商"。纯文字解析按字符串匹配的工具,在标注不一致时会漏字段。
扫描件PDF
识别质量直接受扫描质量影响:分辨率不足(低于200 DPI)、发票倾斜、印章遮字、折痕模糊——这些都会导致单个字符识别错误。财务字段容错率低,一个数字的误读就是一个错误金额。扫描质量参差不齐时,批量处理的错误率会显著升高。
图片嵌入PDF
依赖文字层提取的工具在这里完全失效——读取到的是无意义字符或空白。只有先对内嵌图片做视觉识别再提取字段的工具才能处理这类文件。问题在于,发给你的PDF你不一定知道是哪种类型,混合批次里一旦有几份这样的文件就会出现局部缺失。
一批40份PDF发票,其中30份是文字型电子发票、8份是扫描件、2份是截图打包的PDF。如果工具只处理了前30份,你不一定能立刻发现——缺的那10行在Excel里是空行或根本不存在。
AI如何处理各类PDF发票
视觉大模型(Vision LLM)的处理路径和传统OCR或文字层解析有根本区别:它把每一页作为图像来"看",而不是试图先解析文件结构。这个差异解决了上面提到的几个问题。
对于文字型电子发票PDF,视觉模型直接看页面视觉内容,字段识别基于语义理解而非字符串匹配——"销售方""开票单位""供应商"在模型眼中都是同一个概念。
对于扫描件PDF,模型的图像理解能力处理低分辨率、倾斜和印章遮挡的情况比单纯的字符识别更鲁棒。当某个字段因图像质量无法确定时,系统可以标记而非猜测,让你知道哪里需要人工复查。
对于图片嵌入PDF,由于处理路径始终是视觉层,内嵌图片和文字型PDF没有本质区别——不存在"文字层失效"的问题。
在简录AI的实际使用中,混合批次的处理方式和单一类型批次完全相同:上传文件,输入你要的列名,AI对每一页做视觉识别,提取匹配字段,输出到统一的Excel。不需要提前分类文件,不需要针对不同类型做不同配置。
视觉模型的核心优势不是它比OCR"更准"——而是它消除了"先判断文件类型再选处理方式"这一步。批次里无论什么类型的PDF,走同一条处理路径。
操作流程
用简录AI从PDF发票中提取指定字段,分四步:
上传PDF发票
拖入PDF文件——单个文件或整批皆可。文字型、扫描件、图片嵌入类型混合上传,不需要提前分类。
输入你要的列名
在列名框里输入发票号码、开票日期、销售方名称、金额、税额、价税合计——你需要什么列就写什么。这些直接成为Excel表头。
AI提取,逐页处理
AI对每一页做视觉识别,在整个页面中匹配你输入的字段——不依赖文字层,不依赖模板坐标。每页处理速度约5到10秒。
下载Excel
每份发票一行,表头就是你输入的列名。找不到的字段对应单元格为空,不影响其他行。
文件在内存中处理,不存储在服务器上。
标准增值税发票的提取字段
增值税发票(包括专用发票、普通发票和全电发票)的字段结构相对固定。下表列出了常用字段、在发票上的标注方式,以及提取时需要注意的细节。
| 字段名称 | 发票上的常见标注 | 说明 | 提取注意事项 |
|---|---|---|---|
| 发票号码 | 发票号码、No.、编号 | 全电发票为20位数字;旧版电子发票为8位 | 注意与发票代码区分 |
| 开票日期 | 开票日期、日期、Date | 格式多样:YYYY年MM月DD日、YYYY-MM-DD | 注意与付款期限区分 |
| 销售方名称 | 销售方、开票单位、供应商名称 | 发票盖章单位,应与公章一致 | 不同开票软件标注名称不同 |
| 销售方税号 | 纳税人识别号、税号、统一社会信用代码 | 18位统一社会信用代码 | 扫描件中印章可能遮挡 |
| 购买方名称 | 购买方、收票方、客户名称 | 即收票企业名称 | 与销售方位置通常对称 |
| 金额(不含税) | 合计金额、不含税金额、金额 | 税前金额,用于计算税额 | 注意与价税合计区分 |
| 税额 | 税额、增值税额、VAT | 与不含税金额对应的增值税金额 | 税率有6%、9%、13%等多种 |
| 价税合计 | 价税合计、含税总额、合计(小写) | 金额 + 税额,即实际付款金额 | 发票上同时有大写和小写,取小写数字 |
实际工作中,你不一定需要全部字段。按你的台账结构输入列名即可——工具只输出你指定的字段,不会生成你没要求的多余列。
常见问题
PDF发票有加密或密码保护,能处理吗?
加密PDF需要先解除密码保护才能上传。税务局开具的标准电子发票PDF通常没有用户级别的加密(只有打印限制),直接上传即可。少数开票平台生成的PDF设置了打开密码,需要用Adobe Acrobat或类似工具先解密,再上传到简录AI处理。带打开密码的文件上传后会提示解析失败,不会静默处理空结果。
扫描质量很差的发票(模糊、倾斜、有折痕),提取准确率会下降多少?
扫描质量对结果有直接影响,但视觉模型对图像质量的容忍度比传统字符OCR高。清晰的300 DPI以上扫描件准确率可达99%;分辨率低于150 DPI、严重倾斜或关键字段被印章遮挡的扫描件,单字段识别可能出错。系统对低置信度的字段会标记而非猜测,你可以通过查看标记单元格来决定哪些需要手工复查,而不是全批次盲目信任结果。
一批次里混有文字型PDF、扫描件PDF和图片嵌入PDF,能一起处理吗?
可以——这是简录AI设计时明确考虑的场景。不同类型的PDF走同一条视觉处理路径,不需要你提前分类或为不同类型配置不同参数。批次里的每个文件独立处理,某一份文件的质量问题不影响其他文件的结果。输出Excel里每行对应一份文件,文件名作为标识,方便你核查哪些行需要人工确认。
批次里同时有PDF发票和图片格式发票(JPG/PNG),能放在一起上传吗?
可以直接混合上传。PDF和图片格式(JPG、PNG、截图)放在同一批次,统一输入列名,AI对每个文件独立处理,最终合并到同一份Excel里。每行一个文件,表头统一是你输入的列名。不需要分两批分别处理,也不需要事后合并两份结果文件。这对月底从多渠道(邮件附件、财务群、扫描仪)汇总发票的场景特别实用。
延伸阅读