跳转到主要内容

从PDF文档中提取智能文本

项目描述

Tests Documentation PyPI Codecov DOI

EDS-PDF

EDS-PDF提供了一个模块化框架,用于从PDF文档中提取文本信息。

您可以直接使用它,或者扩展它以适应您的特定用例。我们提供了一个管道系统和各种用于可视化和处理PDF的工具,以及多个组件来构建复杂模型。

访问 :book: 文档 获取更多信息!

入门

安装

使用pip安装库

pip install edspdf

提取文本

让我们构建一个简单的PDF提取器,它使用基于规则的分类器。有两种方法可以做到这一点,要么使用配置系统,要么使用管道API。

创建一个配置文件

config.cfg
[pipeline]
pipeline = ["extractor", "classifier", "aggregator"]

[components.extractor]
@factory = "pdfminer-extractor"

[components.classifier]
@factory = "mask-classifier"
x0 = 0.2
x1 = 0.9
y0 = 0.3
y1 = 0.6
threshold = 0.1

[components.aggregator]
@factory = "simple-aggregator"

然后从Python加载它

import edspdf
from pathlib import Path

model = edspdf.load("config.cfg")  # (1)

或者直接从Python创建一个管道

from edspdf import Pipeline

model = Pipeline()
model.add_pipe("pdfminer-extractor")
model.add_pipe(
    "mask-classifier",
    config=dict(
        x0=0.2,
        x1=0.9,
        y0=0.3,
        y1=0.6,
        threshold=0.1,
    ),
)
model.add_pipe("simple-aggregator")

然后可以使用这个管道(例如,使用这个PDF

# Get a PDF
pdf = Path("/Users/perceval/Development/edspdf/tests/resources/letter.pdf").read_bytes()
pdf = model(pdf)

body = pdf.aggregated_texts["body"]

text, style = body.text, body.properties

请参阅基于规则的食谱,以了解每一步的详细解释。

引用

如果您使用EDS-PDF,请按照以下方式引用我们。

@software{edspdf,
  author  = {Dura, Basile and Wajsburt, Perceval and Calliger, Alice and Gérardin, Christel and Bey, Romain},
  doi     = {10.5281/zenodo.6902977},
  license = {BSD-3-Clause},
  title   = {{EDS-PDF: Smart text extraction from PDF documents}},
  url     = {https://github.com/aphp/edspdf}
}

致谢

我们感谢巴黎公立医院援助AP-HP基金会对该项目的资助。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

edspdf-0.9.1.tar.gz (1.7 MB 查看哈希)

上传时间

构建分布

edspdf-0.9.1-py3-none-any.whl (95.3 kB 查看哈希)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面