gpt4 book ai didi

python - 如何用纯 Python 从 PDF 中提取图像?

转载 作者:行者123 更新时间:2023-11-28 18:40:15 24 4
gpt4 key购买 nike

我正在开发一项服务,我现在需要从 PDF 文件中提取图像。从 Linux 命令行我可以使用 Poppler library 提取图像喜欢this :

pdfimages my_file.pdf /tmp/image

因为我使用的是 Python Flask 框架并且我想在 Heroku 上运行我的服务,所以我想使用纯 Python(或任何可以在 Flask 系统中的 Heroku 上运行的库)来提取图像。

那么有人知道我如何用纯 Python 从 pdf 中提取图像吗?我更喜欢开源解决方案,但如果需要,我愿意为此付费(只要它在 Heroku 上由我自己控制)。

最佳答案

import minecart
import os
from NumberOfPages import getPageNumber

def extractImages(filename):

# making new directory if it doesn't exist
new_dir_name = filename[:-4]
if not os.path.exists(new_dir_name):
os.makedirs(new_dir_name + '/images')
os.makedirs(new_dir_name + '/text')

# open the target file
pdf_file = open(filename, 'rb')

# parse the document through the minecart. Document function
doc = minecart.Document(pdf_file)

# getting the number of pages in the pdf file.
num_pages = getPageNumber(filename)

# getting the list of all the pages
page = doc.get_page(num_pages)

count = 0
for page in doc.iter_pages():
for i in range(len(page.images)):
try:
im = page.images[i].as_pil() # requires pillow
name = new_dir_name + '/images/image_' + str(count) + '.jpg'
count = count + 1
im.save(name)
except:
print('Error encountered at %s' % filename)

doc_name = new_dir_name + '/images/info.txt'

with open(doc_name, 'a') as x:
print( x.write('Number of images in document: {}'.format(count)))

关于python - 如何用纯 Python 从 PDF 中提取图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27187381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com