微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python PyMuPDF循环下一页

如何解决Python PyMuPDF循环下一页

我正在使用以下代码打开PDF文件,并将其转换为图像文件作为输出。现在,我试图弄清楚如何循环下一页并将其转换为相同的输出文件。任何帮助深表感谢!

# display image on the canvas
def openFile(self,_value=False):
    global fileImg,output


    path = os.path.dirname(ustr(self.filePath)) if self.filePath else '.'
    fileImg = QFileDialog.getopenFileName(self,'%s - Choose file' % __appname__,path)

    # convert PDF to image file
    pdffile = fileImg
    doc = fitz.open(pdffile)
    page = doc.loadPage(0)
    pix = page.getpixmap(matrix=fitz.Matrix(100 / 72,100 / 72))
    output = "output.png"
    pix.writePNG(output)

解决方法

您可以使用minecart并使用此代码段将pdf拆分为图像

import minecart
from PIL import Image    
file =open('Yourdoc.pdf','rb')
    doc = minecart.Document(file)
    page=doc.iter_pages()
    pageref=[]
    for j,i in enumerate( page):
        im = i.images[0].as_pil()
        im.save(f"folderlocation/{j}.jpg")
,

您可以简单地在doc对象上循环以获取下一页。

doc = fitz.open(file_name)  # open document
for page in doc:  # iterate through the pages
    pix = page.getPixmap(...)  # render page to an image
    pix.writePNG("page-%i.png" % page.number)  # store image as a PNG

检查PyMuPDF documentation以获得更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。