跳转到主要内容

从PDF中提取表格数据的Web界面。

项目描述

Excalibur:从PDF中提取表格数据的Web界面

Documentation Status image image image Gitter chat image image

Excalibur是一个从PDF中提取表格数据的Web界面,用Python 3编写!它由Camelot提供支持。

注意: Excalibur只适用于基于文本的PDF,不适用于扫描文档。(正如Tabula 解释,“如果您可以在PDF查看器中单击并拖动以选择表格中的文本,则您的PDF是文本基础”。)

使用Excalibur

注意: 在继续之前,您需要安装ghostscript

使用pip安装Excalibur后,您需要使用以下命令初始化元数据库:

$ excalibur initdb

然后使用以下命令启动web服务器:

$ excalibur webserver

这就完成了!现在您可以访问https://:5000并开始从您的PDF中提取表格数据。

  1. 上传一个PDF并输入您想要提取表格的页码。

  2. 转到每一页,通过画一个框来选择表格。(您可以选择跳过此步骤,因为Excalibur可以自动检测表格。点击“自动检测表格”查看Excalibur看到的。)

  3. 从“高级”中选择一个口味(Lattice或Stream)。

    a. Lattice:用于由线条形成的表格。

    b. Stream:用于由空白形成的表格。

  4. 点击“查看和下载数据”以查看提取的表格。

  5. 选择您喜欢的格式(CSV/Excel/JSON/HTML)并点击“下载”!

注意:您还可以从发布页面下载Windows和Linux的可执行文件,并直接运行它们!

usage.gif

为什么选择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的用户和组织!

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发

本版本没有可用的源代码分发文件。请参阅生成分发存档的教程。

构建分发

excalibur_py-0.4.3-py3-none-any.whl (1.5 MB 查看哈希值)

上传于 Python 3

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面