最近在整理文档,需要将文档进行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