从PDF中提取表格数据的Web界面。
项目描述
Excalibur:从PDF中提取表格数据的Web界面
Excalibur是一个从PDF中提取表格数据的Web界面,用Python 3编写!它由Camelot提供支持。
注意: Excalibur只适用于基于文本的PDF,不适用于扫描文档。(正如Tabula 解释,“如果您可以在PDF查看器中单击并拖动以选择表格中的文本,则您的PDF是文本基础”。)
使用Excalibur
注意: 在继续之前,您需要安装ghostscript。
使用pip安装Excalibur后,您需要使用以下命令初始化元数据库:
$ excalibur initdb
然后使用以下命令启动web服务器:
$ excalibur webserver
这就完成了!现在您可以访问https://:5000并开始从您的PDF中提取表格数据。
-
上传一个PDF并输入您想要提取表格的页码。
-
转到每一页,通过画一个框来选择表格。(您可以选择跳过此步骤,因为Excalibur可以自动检测表格。点击“自动检测表格”查看Excalibur看到的。)
-
从“高级”中选择一个口味(Lattice或Stream)。
a. Lattice:用于由线条形成的表格。
b. Stream:用于由空白形成的表格。
-
点击“查看和下载数据”以查看提取的表格。
-
选择您喜欢的格式(CSV/Excel/JSON/HTML)并点击“下载”!
注意:您还可以从发布页面下载Windows和Linux的可执行文件,并直接运行它们!
为什么选择Excalibur?
- 从PDF中提取表格很困难。将PDF中的内容简单地复制粘贴到Excel中不会保留表格结构。Excalibur通过自动检测PDF中的表格,并允许您将它们保存为CSV和Excel文件,使得PDF表格提取变得非常简单。
- Excalibur底层使用Camelot,这为您提供了额外的设置来调整表格提取以获得最佳结果。您可以在此比较中看到它如何比其他开源工具和库表现更好。
- 您可以为PDF一次性保存表格提取设置(如表格区域),并在具有相似结构的新的PDF上应用这些设置以提取表格。
- 您可以完全控制自己的数据。所有文件存储和处理都发生在您自己的本地或远程机器上。
- Excalibur可以配置MySQL和Celery以处理并行和分布式工作负载。默认情况下,对于顺序工作负载,使用sqlite和multiprocessing。
安装
使用pip
在安装ghostscript(Camelot的要求之一,请参阅安装说明)之后,您可以使用pip安装Excalibur
$ pip install excalibur-py
从源代码
在安装ghostscript之后,使用以下命令克隆仓库:
$ git clone https://www.github.com/camelot-dev/excalibur
并使用pip安装Excalibur
$ cd excalibur $ pip install .
文档
优秀的文档可以在http://excalibur-py.readthedocs.io/找到。
开发
贡献指南提供了有关贡献代码、文档、测试等方面的详细信息。我们在本README中包含了一些基本信息。
源代码
您可以使用以下命令查看最新源代码:
$ git clone https://www.github.com/camelot-dev/excalibur
设置开发环境
您可以使用pip轻松安装开发依赖项
$ pip install excalibur-py[dev]
测试(即将推出)
安装后,您可以使用以下命令运行测试:
$ python setup.py test
版本控制
Excalibur使用语义版本控制。有关可用版本,请参阅此存储库上的标签。有关变更日志,请查看HISTORY.md。
许可协议
本项目采用MIT许可协议,有关详细信息,请参阅LICENSE文件。
支持开发
您可以通过OpenCollective上的一次性或月度捐赠来支持我们在Excalibur上的工作。使用Excalibur的组织也可以通过我们的官方网站和本README来赞助项目以获得认可。
特别感谢所有支持Excalibur的用户和组织!
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装软件包的更多信息。