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
遇到的问题
- 安装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