多年来,PDF 文件格式已成为数字文件分发的标准。无论是个人电脑、智能手机还是平板电脑,所有设备都能阅读 PDF 文件。阅读器从一开始就是免费的。这极大地促进了 PDF 的广泛使用。
这种格式还在不断扩展,例如可以填写表格或设置签名。然而,当您要处理 PDF 文档中的信息时,问题就来了。手动复制和粘贴很少奏效,因为文本通常也作为图像信息保存,更不用说时间方面的问题了。供应商以不同的方式解决了这一问题,从而能以结构化、自动化和智能化的方式将 PDF 转换为文本。在此,我们想对这些流程进行更深入的了解。
本文章以德语撰写,可自动翻译成其他语言并进行重读。我们欢迎您在文章末尾进行反馈。
文本到PDF转换的背景
说到 PDF 文本转换,一般是指转换器自动提取 PDF 文档中的文本内容并将其转换为可编辑文本格式的过程。如果您想进一步处理 PDF 文档中的文本或将其用于其他应用程序,这将非常有用。有许多工具和服务可以自动完成这一过程,并促进 PDF 到文本的转换。
其中一些工具还提供保留表格或段落等特殊布局或格式元素的选项,以确保在新的应用程序中尽可能好地再现文本。当您想从字体仅作为图像信息存在的扫描 PDF 文档中提取文本时,PDF 到文本的转换也很有帮助。OCR (光学字符识别)技术可用于此目的,它能解释图像信息并生成文本。
根据用户的能力和将PDF转换为文本的目标,Konfuzio提供了各种提取文本的选项(例如,作为TXT或Word文件)。这些都是一目了然的。
- 手工过程: 对于偶尔的转换,可以将PDF文件手动上传到转换平台,然后以下载的方式接收读出的文本,以便进一步进行单独处理。
- 通过应用编程接口(API)。对于更多的文件量,可以使用灵活的API来创建高效的流程,通过少量编程实现PDF到文本的自动转换。
- 通过方案库转换功能可通过程序库直接在你自己应用程序的源代码中使用。这里非常流行的是为编程语言Python提供的服务。
变式 1 - 手工流程说明
- 打开一个公共的PDF到文本转换器。这些往往允许自由转换。
- 按照平台的指示,从你的本地计算机上传你自己的PDF文件到平台。
- 在上传PDF文件后,该平台会生成纯文本,通常还是非结构化的。该文本可在网站上的一个文本字段中复制。或者该应用程序已生成一个文本文件供下载。
- 将生成的文件或网页上的文字直接复制到Konfuzio平台的TextView中。
- 只需将标签(注释)直接应用于仍未结构化的数据,就能根据数据的具体形式对人工智能进行训练。
变式 2 - 通过 API 将 PDF 转换为文本的说明
这个变体需要编程知识。此外,人们需要清楚地了解哪些类别的文件可以预期,以便在转换后尽可能有效地进一步处理文本。
- 该文件通过API命令加载到服务器上。为此目的,指定了类别和相关项目(在这里试试吧)
- 一旦上传成功,该文件就会出现在Konfuzio管理员界面上,并已被分配到正确的类别。
- 然后,文本信息已经由Konfuzio读出PDF,并提供给方案(在这里试试吧)
- 现在可以通过管理员界面打开该文件,为文本信息分配注释,以便对信息进行分类。有了训练有素的人工智能,这一步也就自动化了。
在一个说明性的视频中,全面介绍了使用API的工作情况 这里.
变式 3 - Python SDK 使用说明
对于已经熟悉Python的开发人员来说,使用Konfuzio Python SDK作为代码库来快速集成转换和处理功能是特别容易的。这里已经以一种用户友好的方式实现了API调用的整合。它的功能非常强大,但我们想在这里集中讨论PDF到文本的转换。
- 如果这是第一次使用SDK的功能,开发者必须首先在自己的开发环境中下载并安装。(更多内容请点击这里)
- 将SDK程序库导入你自己的源代码中。
从konfuzio_sdk.data导入项目
- 要加载的PDF文件应该由程序找到。它可以是在线的,也可以是在本地硬盘上。文件被打开,二进制数据被缓存起来,以便在目标环境中处理。
- 在下一步,Konfuzio将上传命令upload_file_konfuzio_api配置为必要的参数(文件名、项目ID、状态)并执行。
- 只要上传完成,该平台就已经通过OCR将PDF转换为文本。这可以通过项目对象轻松读出。
在概述中,代码看起来是这样的。
从 konfuzio_sdk.data 导入项目
project = Project(id_=11957)
从 pathlib 导入路径
导入请求
filename = Path('energiezertifikat.pdf')
url = 'https://www.energieausweis-online-erstellen.de/app/uploads/2016/09/muster-bedarfsausweis.pdf'
response = requests.get(url)
print(response.status_code)
response = requests.get(url, stream=True)
if response.status_code == 200:
with open(filename, 'wb') as pdf_object:
pdf_object.write(response.content)
print(f'{filename} 已成功保存!')
从 konfuzio_sdk.api 导入 upload_file_konfuzio_api
request = upload_file_konfuzio_api(filename, project_id=project.id_, dataset_status=2)
project.get(update=True)
document.status for document in project.documents] 项目文档[-1].文本
project.documents[-1].text
对图像的处理非常相似。关于如何使用Konfuzio Python SDK的更多例子和说明可以找到 这里.
提取了文本,现在怎么办?
正如上述例子所示,仅仅转换文件是不够的。只有当文本还能进一步使用时,转换工作才会产生附加值。使用 Konfuzio,可以手动标注数据类型(文件的日期、日期和时间)。 发票 或账号)。但这只是第一步。因为在后台,人工智能会对所有新文件进行分析。人工标签是人工智能的训练材料。人工智能很快就会接手,并越来越有能力对文本本身的数据进行识别和分类。它可以学习不同的文档类型。通过这种方式,即使是大量文件也能快速分析,对数据进行结构化处理,并为进一步使用准备信息。这样,PDF 文件中的数据就可以整合到以下业务流程中,大大减少了人工操作,而且 自动处理 成为。