从 pdf 文件中复制表格,顺序是错乱的, pdf 表格中的文本选择顺序是怎么定义的呢?

364 天前
 sillydaddy
这个 pdf 文件,是建设银行储蓄卡的消费明细,表格形式的。里面的文本都可以选择,但鼠标框选文本时,整个的顺序几乎完全错乱:有时选不中某一个单元,有时选中了鼠标框之外的几行。即使我按住`option`键,选中特定的一列,拷贝出的文本的顺序也不是原始文档里的顺序。

开始我以为这是 pdf 的固有问题,可是我自己拿 macOS 上的 Number 做了一个同样的表格,然后导出为 pdf ,发现是可以有序选中文本的。不知道建行的 pdf 文件是用的什么工具生成的。

现在有点疑惑,pdf 中的表格,在选择它里面文本时,选中的顺序是依据什么而定的呢?我模糊记得网页里的表格,有时也有这个选中顺序的问题。
1490 次点击
所在节点    问与答
22 条回复
HiyaKuso
364 天前
我之前用的 pdfplumber 和 PyMuPDF ,最终用了 pdfplumber ,不过后来新项目用了 PyMuPDF ,因为更新 1.23.0 版本后代码写起来比较简单,准确度还行,又可以转为 DataFrame 使用。
代码大概是这样:
tables = page.find_tables()
df = tables[0].to_pandas()
df.to_excel('example.xlsx', index=False)
sillydaddy
363 天前
@HiyaKuso 是啊,用起来真简单

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/996128

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX