从PDF文档中提取智能文本
项目描述
EDS-PDF
EDS-PDF提供了一个模块化框架,用于从PDF文档中提取文本信息。
您可以直接使用它,或者扩展它以适应您的特定用例。我们提供了一个管道系统和各种用于可视化和处理PDF的工具,以及多个组件来构建复杂模型。
- 📄 提取器 用于解析PDF(基于 pdfminer, mupdf 或 poppler)
- 🎯 分类器 用于执行文本框分类,以分割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}
}
致谢
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
edspdf-0.9.1.tar.gz (1.7 MB 查看哈希)
构建分布
edspdf-0.9.1-py3-none-any.whl (95.3 kB 查看哈希)
关闭
edspdf-0.9.1.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4575ec97cc25682ebe32ade718f28db7c459ba36799c90e137c59cebb289bed2 |
|
MD5 | ac865ea2c12970768bddb46d6fe3a65f |
|
BLAKE2b-256 | 931c002905faa61525e8f592002dc63fd1c8bd8eaf0f6b2dc28c5ce1e9614623 |
关闭
edspdf-0.9.1-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f9ceb7c5ad39795766dd3c6d6ea20a9eef46e66b6c1b4b76857ebbf4757ea56b |
|
MD5 | ca60011410ee6e5387153d8f11c581cb |
|
BLAKE2b-256 | 4210292721833db22d850d973742391c8e03e104ee85e521711676dbb3d9cffe |