从PDF中提取表格数据的Web界面。
excalibur-p的Python项目详细描述
excalibur:从pdf中提取表格数据的web界面
excalibur是一个从pdf中提取表格数据的web界面,用python 3编写!它由Camelot提供动力。
注意:excalibur仅适用于基于文本的pdf,而不适用于扫描的文档。(如表格explains,“如果您可以单击并拖动以在pdf查看器中选择表中的文本,则pdf是基于文本的”。
使用excalibur
注意:在前进之前需要install ghostscript。
在installing Excalibur with pip之后,您需要使用:
$ excalibur initdb
然后使用:
$ excalibur webserver
就这样!现在您可以转到http://localhost:5000并开始从PDF中提取表格数据。
upload一个pdf文件,并输入要从中提取表的页码。
转到每页并通过在其周围画一个框来选择表。(您可以选择跳过此步骤,因为excalibur可以自己自动检测表。单击“autodetect tables”查看excalibur看到的内容。)
从“advanced”中选择口味(晶格或流)。
a.lattice:用于由行组成的表。
b.stream:用于由空白组成的表。
单击“view并下载数据”以查看提取的表。
选择您喜欢的格式(csv/excel/json/html)并单击“下载”“!
注意:您还可以从releases page下载Windows和Linux的可执行文件并直接运行它们!
为什么是埃克斯卡利伯?
- 从pdf中提取表是困难的。简单地从pdf复制粘贴到excel并不能保留表结构。excalibur通过自动检测pdf中的表并将它们保存到csv和excel文件中,使pdf表提取变得非常容易。
- excalibur在引擎盖下使用Camelot,这为您提供了额外的设置来调整表提取并获得最佳结果。您可以看到它的性能如何优于其他开源工具和库in this comparison。
- 您可以为pdf保存一次表提取settings(类似于表区域),并将它们应用于新的pdf以提取具有类似结构的表。
- 你可以完全控制你的数据。所有文件存储和处理都在您自己的本地或远程计算机上进行。
- excalibur可以配置mysql和celeriy以实现并行和分布式工作负载。默认情况下,sqlite和多处理用于顺序工作负载。
安装
使用pip
在安装了camelot的要求之一ghostscript(参见install instructions)之后,您只需使用pip安装excalibur即可:
$ pip install excalibur-py
从源代码
安装ghostscript后,使用以下命令克隆repo:
$ git clone https://www.github.com/camelot-dev/excalibur
并使用pip安装excalibur:
$ cd excalibur $ pip install .
文档
精彩的文档可以在http://excalibur-py.readthedocs.io/找到。
开发
Contributor's Guide包含有关贡献代码、文档、测试等的详细信息。我们在自述文件中包含了一些基本信息。
源代码
您可以使用以下网址查看最新的来源:
$ git clone https://www.github.com/camelot-dev/excalibur
建立一个开发环境
使用pip:
$ pip install excalibur-py[dev]
测试(即将)
安装后,您可以使用以下命令运行测试:
$ python setup.py test
版本控制
excalibur使用Semantic Versioning。有关可用版本,请参阅此存储库上的标记。对于变更日志,您可以签出HISTORY.md。
许可证
此项目是在mit许可下授权的,有关详细信息,请参见LICENSE文件。
你可以用一次或每月的捐款来支持我们关于excalibur的工作。使用excalibur的组织还可以赞助项目,以获得对our official site和本自述文件的确认。
特别感谢所有支持excalibur的用户和组织!