Python PDF文档转图片

网上的教程很多,我就仅提供下自己的代码以做参考

示例代码


import fitz

def pdf_to_png(pdf_path):
    # 创建保存png的目录
    png_folder = os.path.join(os.path.dirname(pdf_path), 'pngs')
    if not os.path.exists(png_folder):
        os.mkdir(png_folder)

    # 主要的代码,其实就是下面4行
    doc = fitz.open(pdf_path)
    for page in doc.pages():
        # matrix可以调整图片的分辨率,会影响图片的清析度和图片的大小,具体的用法可以看下官方文档
        pix = page.get_pixmap(matrix=fitz.Matrix(2, 2))
        pix.writeImage(f'{png_folder}/{page.number}.png')
    return png_folder

遇到的问题

  1. 安装fitz时报错:
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/include/mupdf -I/usr/local/include/mupdf -Imupdf/thirdparty/freetype/include -I/home/ugvibib/Documents/Projects/test/.env/include -I/usr/local/include/python3.6m -c fitz/fitz_wrap.c -o build/temp.linux-x86_64-3.6/fitz/fitz_wrap.o
fitz/fitz_wrap.c:2767:10: fatal error: fitz.h: 没有那个文件或目录
 #include <fitz.h>
          ^~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1

更新下pip解决问题:python -m pip install --upgrade pip

参考:

posted @ 2021-12-13 18:07  ugvibib  阅读(354)  评论(0编辑  收藏  举报