首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以在Python中提取带有空格的pdf吗?

可以在Python中提取带有空格的pdf吗?
EN

Stack Overflow用户
提问于 2013-06-16 12:38:39
回答 2查看 2.1K关注 0票数 4

在创建了一个使用java和pdfbox提取pdf的工具之后,我一直在尝试用Python提取pdf。

虽然对于相同的pdf,Java实现是成功的,但我一直在努力在python中做同样的事情,因为pdfminer和pypdf和pypdf2都不能逐行提取带有空格的pdf。特别是,出于某种奇怪的原因,pdfminer pdf2txt将pdf拆分为3列,然后逐行读取。

我得到的最接近的是使用a stack overflow question的实现,不幸的是,它没有保留空格。假设我有两个变量都有数字,我无法以文本形式恢复它们。

鉴于此,是否可以在Python中逐行提取带有空格的pdf?

EN

回答 2

Stack Overflow用户

发布于 2021-03-17 22:07:30

在我的案例中,工作如下:

代码语言:javascript
运行
复制
from pdf2image import convert_from_path
import pytesseract

images = convert_from_path("sample.pdf")
for i,image in enumerate(images,start=1):
    image.save(f"./images/page_{i}.jpg","JPEG")

print(pytesseract.image_to_string("./images/page_1.jpg"))

这里的想法是首先将PDF转换为图像,然后读取其中的文本。这种方法保留了空白。

依赖项:

forge tesseract

  • conda install pdf2image

  • conda install
票数 0
EN

Stack Overflow用户

发布于 2021-07-16 01:47:37

您可以使用Aspose.PDF Cloud SDK for Python从PDF中逐行提取文本和空格。目前,它支持来自云存储(亚马逊S3,DropBox,谷歌硬盘存储,谷歌云存储,Windows Azure存储,FTP存储和Aspose默认云存储)的文件处理。

以下是示例代码:

代码语言:javascript
运行
复制
import os
import asposepdfcloud
from asposepdfcloud.apis.pdf_api import PdfApi

# Get Client Id and Client Secret from https://cloud.aspose.com
pdf_api_client = asposepdfcloud.api_client.ApiClient(
    app_key='xxxxxxxxxxxxxxxxxx',
    app_sid='xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx')

pdf_api = PdfApi(pdf_api_client)
temp_folder="Temp"

#upload PDF file to storage
data_file = "C:/Temp/02_pages.pdf"
remote_name="02_pages.pdf"
pdf_api.upload_file(temp_folder + '/' + remote_name,data_file)

llx = 0
lly = 0
urx = 0
ury = 0

response = pdf_api.get_text(remote_name, llx, lly, urx, ury, folder= temp_folder)

for i in response.text_occurrences.list:
    print(i.text)

附言:我是Aspose的开发者布道者

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17130250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档