You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AWS Textract提取并合并PDF文本与表格(去重)

解决方法

要避免重复,最可靠的方式是提取页面中除表格外的所有文本,再拼接表格的结构化CSV内容——原text变量包含页面全部文本(包括表格内的文本),我们可以通过Textractor的元素过滤功能分离非表格文本和表格内容:

步骤1:补充导入所需类

先导入Table类用于识别表格元素:

from textractor import Textractor
from textractor.data.constants import TextractFeatures
from textractor.entities.table import Table  # 新增导入

步骤2:提取非表格文本并合并表格内容

遍历页面所有元素,过滤掉表格类型元素后拼接剩余文本,再加上表格的CSV内容:

extractor = Textractor(region_name='us-east-1')
document = extractor.start_document_analysis(
    file_source="s3://<document>.pdf",
    features=[TextractFeatures.TABLES],
)

page = document.document.pages[0]
# 提取不含表格的页面文本
non_table_text = ""
for element in page.elements:
    if not isinstance(element, Table):
        non_table_text += element.text + "\n"

# 获取表格CSV内容(兼容无表格的情况)
table_csv = ""
if page.tables:
    table_csv = page.tables[0].to_csv()

# 合并无重复内容
combined_text = non_table_text.strip() + "\n\n" + table_csv.strip()

原理说明

Textractor的Page对象的elements属性包含页面上所有文本块、表格等元素,通过类型判断过滤表格后,得到的non_table_text是纯页面非表格文本,再拼接表格的结构化CSV内容,既保留了页面原有信息,又拥有表格的规整格式,完全避免重复。

如果页面包含多个表格,循环遍历page.tables逐个拼接CSV内容即可。

内容的提问来源于stack exchange,提问作者kahlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 11:42:18