1. windows 系统安装 Poppler
- 参考 pdf2image 帮助文档 安装
poppler(添加 PATH 并测试是否成功)
- pip 安装
pip install pdf2image pillow
pdf2image 只是调用 poppler 中的 pdftoppm 命令,所以需要安装 poppler 并添加到 PATH 中
2. 编写 Python 代码来将 PDF 转换为高质量的 JPG
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| from pdf2image import convert_from_path import os
def pdf_to_jpg(pdf_path, dpi=300): """ 将PDF文件转换为JPG图片,并保存在同一目录下,文件名为原文件名加上.jpg。 pdf_path: PDF文件路径 dpi: 图片的DPI,越高越清晰,默认300 """ dir_path, file_name = os.path.split(pdf_path) base_name = os.path.splitext(file_name)[0]
images = convert_from_path(pdf_path, dpi=dpi)
output_path = os.path.join(dir_path, f"{base_name}.jpg") images[0].save(output_path, 'JPEG') print(f"转换完成:{output_path}")
pdf_path = 'a.pdf' pdf_to_jpg(pdf_path, dpi=300)
|
或者如下修改上述代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| from pdf2image import convert_from_path import os import argparse
def pdf_to_jpg(pdf_path, dpi=300): """ 将 PDF 文件的第一页转换为 JPG 图片,并保存在同一目录下, 文件名为原文件名加上 .jpg。
pdf_path: PDF 文件路径 dpi: 图片的 DPI,越高越清晰,默认 300 """ dir_path, file_name = os.path.split(pdf_path) base_name = os.path.splitext(file_name)[0]
images = convert_from_path(pdf_path, dpi=dpi)
output_path = os.path.join(dir_path if dir_path else ".", f"{base_name}.jpg") images[0].save(output_path, "JPEG")
print(f"转换完成:{output_path}")
def main(): parser = argparse.ArgumentParser( description="将 PDF 的第一页转换为同名 JPG 图片" ) parser.add_argument("pdf_path", help="要转换的 PDF 文件路径") parser.add_argument( "--dpi", type=int, default=300, help="输出图片 DPI(默认:300)" )
args = parser.parse_args()
pdf_to_jpg(args.pdf_path, dpi=args.dpi)
if __name__ == "__main__": main()
|
这样就可以命令行执行格式转换,例如 1
| python pdf_to_jpg.py a.pdf --dpi 300
|
会在同目录下生成 a.jpg,并且 a.jpg 的 dpi (清晰度)为 300