• 【python】提取pdf文件中的所有图片


    写在前面

    一个pdf文件中有很多页,每页有若干张图片,如何将pdf文件中的所有图片提取出来?

    安装模块

    pip install pymupdf
    

    示例代码

    import fitz
    
    
    def func(doc):
        for i in range(len(doc)):
            imglist = doc.getPageImageList(i)
            for j, img in enumerate(imglist):
                xref = img[0]
                pix = fitz.Pixmap(doc, xref)   # make pixmap from image
                if pix.n - pix.alpha < 4:      # can be saved as PNG
                    pix.writePNG("p%s-%s.png" % (i+1, j+1))
                else:                          # CMYK: must convert first
                    pix0 = fitz.Pixmap(fitz.csRGB, pix)
                    pix0.writePNG("p%s-%s.png" % (i+1, j+1))
                    pix0 = None                # free Pixmap resources
                pix = None                     # free Pixmap resources
    
    
    if __name__ == "__main__":
        func(doc=fitz.open('xxx.pdf'))         # input the path of pdf file
    

    参数说明

    func(doc=fitz.open('xxx.pdf'))xxx.pdf更改为你的pdf文件所在的路径即可。

    pix.writePNG()中设置提取的图片的保存路径

    业务逻辑

    代码逻辑很简单:对pdf文件进行for循环,遍历每一页;然后对每一页进行for循环,遍历每一页中的图片。

    引用参考

    https://pymupdf.readthedocs.io/en/latest/document.html#other-examples
    
  • 相关阅读:
    1.saltstack入门
    构造函数
    gitlab
    mysql常见的问题
    python数据运算
    BZOJ 1691 usaco2007 挑剔的美食家
    BZOJ 1708 usaco2007 Money奶牛的硬币
    BZOJ 1050 HAOI2006 旅行comf
    BZOJ 2427 HAOI2010 软件安装
    BZOJ 1901 Dynamic Rankings
  • 原文地址:https://www.cnblogs.com/ghgxj/p/14219110.html
Copyright © 2020-2023  润新知