推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
woshichuanqilz
V2EX  ›  Python

如何提取一个 pdf 文件里面, 一个表格的信息?

  •  
  •   woshichuanqilz · Apr 23, 2018 · 10182 views
    This topic created in 3122 days ago, the information mentioned may be changed or developed.

    如何提取一个 pdf 文件里面, 一个表格的信息?

    我有一个 pdf 文件, 里面的有一个类似这样的表格, 除了这个表格还有其他很多没有写在表格里面的文字,

    我现在想做的就是提取这个表格里里面的信息, 这个怎么做?

    我湿了 pdfminer, 里面提取的文字顺序尤其是在提取表格内容的时候, 或者在表格里面有换行的情况的时候, 变得很乱无法统一提取信息。请问有没有什么好点的方法?

    20180423164856

    19 replies  •  2018-07-15 22:05:41 +08:00
    yidinghe
    yidinghe
    PRO
    Apr 23, 2018
    1
    理论上 PDF 里面没有表格的概念,只有线、框、文字,所以你可能要计算坐标去判断一个字是否在表格中。
    yo0o0o0
    yo0o0o0
    Apr 23, 2018
    2
    ocr 识别了解一下
    CodingPuppy
    CodingPuppy
    Apr 23, 2018 via Android
    3
    最近也要做这么个需求,表格比你这还复杂~ pdfminer 看了下还没试~感觉 ocr 也有局限~ 还在搜索资料…
    woshichuanqilz
    woshichuanqilz
    OP
    Apr 23, 2018❤️1
    4
    @CodingPuppy OCR 肯定不行, pdfminer 不行, pdfminer 是无格式的, 无法探知一个字段是不是在表格里面, 我看一楼哥们的方法应该是比较有效的, 只是感觉有点难。。。

    我刚看了一下 pdftable, 里面示例都用不了。。。

    读文件的函数感觉都没写完。

    http://7xpvdr.com1.z0.glb.clouddn.com/95885595-9dc8-4753-9ab1-e023daa27bef0423171652.png
    xupefei
    xupefei
    Apr 23, 2018
    5
    用 Word 打开这个 PDF 就行了。
    akira
    akira
    Apr 23, 2018
    6
    @xupefei word 打开 pdf 一般就是一张大图
    ynyounuo
    ynyounuo
    Apr 23, 2018
    7
    如果是 doc 之类的富文本格式转换的 PDF 可以试试在 Acrobat 里写 JavaScript 提取一些信息
    zbl430
    zbl430
    Apr 23, 2018
    8
    pdftotext 之后自己在做处理, 直接识别 table,难
    summerwar
    summerwar
    Apr 23, 2018
    9
    手工敲吧,比找工具快多了 这种表格基本上无解
    nowheretogogo
    nowheretogogo
    Apr 23, 2018
    10
    目前能够直接读取 Pdf 里面表格的应该就只有 Fillable Pdf 了。
    里面可以添加 fields 并通过 field.Value 这种方式获取其中的值。
    timtang2010
    timtang2010
    Apr 23, 2018
    11
    https://www.freepdfconvert.com/zh-hans/pdf-excel 这个网站不错,前天做报价用了很方便转换了。只不过没有付钱有页数转换的限制。
    zhaoFinger
    zhaoFinger
    Apr 23, 2018
    12
    ocr 吧
    maxco292
    maxco292
    Apr 23, 2018 via Android
    13
    角点检测
    evagreenworking
    evagreenworking
    Apr 23, 2018 via Android
    14
    白描 了解一下
    laqow
    laqow
    Apr 23, 2018 via Android
    15
    不介意的话 acrobat 直接转 doc,或者用 reader 一纵列一纵列的选择复制
    rosu
    rosu
    Apr 23, 2018 via Android
    16
    截图 OCR 呗
    kxxoling
    kxxoling
    Apr 24, 2018
    17
    zix
    zix
    May 8, 2018❤️1
    18
    @kxxoling 项目还没有开源啊……

    @woshichuanqilz

    用 pdfminer 是可以做的,把线识别出来,然后自己组装成表格。另外有一个叫做 tabula-py 的项目了解一下

    附参考资料:

    - http://www.degeneratestate.org/posts/2016/Jun/15/extracting-tabular-data-from-pdfs/

    - https://github.com/chezou/tabula-py
    tolecen
    tolecen
    Jul 15, 2018
    19
    白描 现在表格识别有了质的提升,可以尝试一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4134 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 01:09 · PVG 09:09 · LAX 17:09 · JFK 20:09
    ♥ Do have faith in what you're doing.