如何用Python将pdf文件转化为高清图片

时间:2025-01-23 07:04:29

最近在整理文档,需要将文档进行OCR识别,然后结构化。直接解析pdf文档,行不通,因为文档里面是图片。于是采取先转图片,然后OCR,然后结构化。下面是pdf文档转图片的方法。

import fitz  # PyMuPDF
 
def pdf_to_images(pdf_path, images_folder):
    # 打开PDF文件
    document = fitz.open(pdf_path)
    
    for page_num in range(len(document)):
        # 获取页面
        page = document[page_num]
        
        # 将页面渲染为图片,默认输出为RGB颜色空间,96 DPI
        pix = page.get_pixmap(dpi=300)
        
        # 图片文件名
        image_name = f"page_{page_num + 1}.png"
        image_path = f"{images_folder}/{image_name}"
        
        # 保存图片
        pix._writeIMG(image_path, format_="JPG", jpg_quality=300)
 
    # 关闭PDF文档
    document.close()
 
# 使用示例
pdf_path = 'example.pdf'  # PDF文件路径
images_folder = 'images'  # 图片保存文件夹
pdf_to_images(pdf_path, images_folder)

清晰度可以通过dpi参数控制。

如果你还没有安装 pymupdf,请安装:

pip install pymupdf