使用 PDF 阅读器获取文本?

Posted

技术标签:

【中文标题】使用 PDF 阅读器获取文本?【英文标题】:Get Text with a PDF Reader? 【发布时间】:2019-10-06 22:08:30 【问题描述】:

当我阅读 pdf 时,我怎样才能只得到这个简单的文本?

CLSAI10608

此代码始终以 CLXXXXXXXX, LEN = 10 开头。

代码:

import PyPDF2
file = open('document.pdf', 'rb')
pdfreader = PyPDF2.PdfFileReader(file)
pageobj = pdfreader.getPage(0)
print(pageobj.extractText())

输出:

output

【问题讨论】:

【参考方案1】:

所以我想出的正则表达式模式搜索以CL 开头的内容,然后是 8 个非空白字符。 regex101.com 提供了方便的解释。

import re

string = r"""Detalle

Total

4040CL02

  Correccion de BL

CLSAI10608LV-PASSERO V0008-MBL : ISGA0F000

47.020"""

match = re.search(r"[C][L]\S8", string)
if match:
    code = match.group()
    print(code)

输出:CLSAI10608

所以你想用pageobj.extractText()替换string

【讨论】:

以上是关于使用 PDF 阅读器获取文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Android 中的印地语 PDF 文件中提取文本

制作安卓PDF阅读器:三、实现文本选择

PDF 阅读器 ruby​​ gem 风景页面

如果识别 PDF 文档中的文本结构如此困难,那么 PDF 阅读器是如何做到如此出色的呢?

本机 C# pdf 阅读器 [关闭]

使用 Quartz 2D 解析 pdf 时获取文本位置