首页 > 解决方案 > 是否有任何 python 代码可以在不使用 ImageMagick 或 Ghost 脚本的情况下将多页 pdf 转换为图像

问题描述

是否有任何 python 代码可以在不使用 ImageMagick 或 Ghost 脚本的情况下将多页 pdf 转换为图像。

wand.image 有导入错误

标签: pythonimagepdf

解决方案


这是一种使用PyMuPDF的方法。我不认为 ImageMagick 或 GhostScript 在幕后使用。

import os

import fitz


pdf_filename = r'C:\SomeDocument.pdf'
pdf_dirname = os.path.dirname(pdf_filename)
pdf_basename = os.path.basename(pdf_filename)
pdf_root, pdf_ext = os.path.splitext(pdf_basename)
img_filename_fmt = '{}_{}_of_{}.png'

pdf_document = fitz.open(pdf_filename)
for page_index in range(pdf_document.pageCount):
    img_filename = os.path.join(pdf_dirname, img_filename_fmt.format(pdf_root, page_index + 1, pdf_document.pageCount))
    page_pixmap = pdf_document.getPagePixmap(page_index)
    page_pixmap.writePNG(img_filename)
pdf_document.close()

推荐阅读