You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python复刻pdf2txt -t xml命令的输出效果?

复刻pdf2txt命令行XML输出时的差异问题

我尝试用Python复刻命令行指令 pdf2txt -t xml samplePdf.pdf > test.xml 的功能,编写了以下代码:

import pdfminer.high_level
from pdfminer.layout import LAParams

laparams = LAParams()
laparams.all_texts = True

with open("out.xml", 'w') as out:
  with open('./samplePdf.pdf', 'rb') as pdf:
    pdfminer.high_level.extract_text_to_fp(
      pdf, out, 'xml', codec="", laparams=laparams)

生成的结果与命令行输出类似,但文本框(textbox)和/或文本行(textline)的数量存在差异,我不清楚原因。

补充说明

  • 测试使用的是一篇科学论文PDF
  • 发现的第一个差异:命令行输出的第一行是 <? xml version = "1.0"?>,未提及编码信息;而Python代码生成的XML声明中指定了encoding="utf-8"。尝试传入"utf-8"作为codec参数会触发值错误,因此代码中只能将该参数留空。

内容的提问来源于stack exchange,提问作者Teo7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:26:25