如何解决使用 Python 从 PDF 文件中按顺序提取图像
我想通过 Python 实现 PDF 自动化,其中当我执行下面的代码时,它会从整个 PDF 中获取任何随机图像,而不是按照给定 PDF 中的图像页面顺序进行操作。
请找到我附加的从以下代码执行的 PDF 图像。
req[f'{i}qty']
预期输出:- 我想按照 PDF 中给出的顺序提取图像。 例如 - 首先它应该选择第 1 页的图像,然后按顺序选择第 2 页,依此类推。
解决方法
def start():
print("Start working....")
# doc = fitz.open("cs2102g0065_016_549355_ca_cs_sb_sb_fy22q2wk11_oa_bfij-proper-fr_XXXxXXX_jsos.pdf")
# pdf_file = fitz.open(
# r"C:\Users\kunal.joshi\PycharmProjects\1190_PDF to gif\cs2103g0052_019_549291_ca_cs_sb_sb_fy22q2wk7_oa_showcase-premium-fr_XXXxXXX_jsos.pdf")
input = path.get()
pdf_file = fitz.open(input)
try:
os.mkdir("Extract Images")
except:
pass
DIR = "Extract Images"
for page_index in range(len(pdf_file)):
# print(page_index)
# get the page itself
page = pdf_file[page_index]
image_list = page.getImageList()
# printing number of images found in this page
if image_list:
print(f"[+] Found {len(image_list)} images in page {page_index}")
else:
print("[!] No images found on the given pdf page",page_index)
for image_index,img in enumerate(page.getImageList(),start=1):
# get the XREF of the image
xref = img[0]
# extract the image bytes
base_image = pdf_file.extractImage(xref)
image_bytes = base_image["image"]
# get the image extension
image_ext = base_image["ext"]
# load it to PIL
image = Image.open(io.BytesIO(image_bytes))
# save it to local disk
# image.save(open(f"image{page_index + 1}_{image_index}.{image_ext}","wb"))
image.save(os.path.join(DIR,f"image{page_index + 1}_{image_index}.{image_ext}"))
# image.save(os.path.join(DIR,image_ext))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。