美文网首页
10行代码教你快速批量把pdf转png图片

10行代码教你快速批量把pdf转png图片

作者: 沉迷工作的我 | 来源:发表于2022-04-11 11:52 被阅读0次
    当你有pdf的矢量图需要转成png这样的位图时,你是怎么做的呢,用WPS开个会员把pdf转成png么?那如果有100张pdf图片需要转png呢......难道要点一百次。今天就教大家怎么用10行代码实现pdf快速转png,安排。 图片 图片 图片

    直接上复制粘贴就能用的代码,不用感动,给个点赞+关注哈!

    import fitz  # pip install pymupdf -i https://pypi.tuna.tsinghua.edu.cn/simple/
    import os
    
    def pdf2img(pdf_path, zoom_x, zoom_y):
        """
        参数说明
        :param pdf_path: pdf文件的路径
        :param zoom_x: x轴方向的缩放系数
        :param zoom_y: y轴方向的缩放系数
        """
        doc = fitz.open(pdf_path)  # 打开pdf文件
        for page in doc:  # 逐页循环
            pic = page.get_pixmap(matrix=fitz.Matrix(zoom_x, zoom_y))  # 将页面渲染为图片
            dir_save = os.path.dirname(pdf_path)  # 结果保存的路径与pdf文件所在的路径同级
            pdf_name = os.path.basename(pdf_path).split('.pdf')[0]
            pic.save(f'{dir_save}/{pdf_name}-page-{page.number+1}.png')  # 逐页将pdf存储为PNG格式
        doc.close()  # 关闭读取pdf文件
    
    pdf2img(
        r"E:\python_projects\python_test\2_pdf2png\test.pdf",
        zoom_x=3,
        zoom_y=3
    )
    

    是不是短短几行代码就可以实现你的"一个小目标",上面考虑的是你的pdf中有多页的情况,如果你的一个pdf只有一页,有多个pdf要转png图片,那直接在最外层加个循环就可以了。

    import glob
    for pdf in glob.glob('./xxx/*pdf'):
        pdf2img(pdf, zoom_x=3, zoom_y=3)
    

    好了,今天就给大家分享这么多,对了,你关注了么!

    相关文章

      网友评论

          本文标题:10行代码教你快速批量把pdf转png图片

          本文链接:https://www.haomeiwen.com/subject/zcmhjrtx.html