依据pdf2image批量将pdf文件转换成png图片!

1. 安装pdf2image

  • 首先安装pdf2image包:
conda install -c conda-forge poppler
pip install pdf2image
# 或者直接:
conda install pdf2image

2. 导入环境变量

3. Python代码

  • 代码如下
from pdf2image import convert_from_path
import os
import cv2


""" 
@zhangkaifang 2020-11-02,这里为了统一格式,方便后续处理。
①、因为后续操作的png图像尺寸都是[3480*2433]的大小,这里直接将pdf转成该尺寸。
②、原PDF的大小是 [20.40*14.26 inch], 3480/20.40=170.588约数。意思是每个英寸扫描170个点。
"""

path_all_pdf = './PDF'                    # 存放pdf的文件目录
pdf_all = os.listdir(path_all_pdf)        # 所有的pdf文件列表

outfile = './PNG'
if not os.path.exists(outfile):           # 用来保存解析出来的PNG文件目录
    os.mkdir(outfile)

i = 1
for pdf_name in pdf_all:
    pdf_one = os.path.join(path_all_pdf, pdf_name)
    pages = convert_from_path(pdf_one, 175, thread_count=8)
    png_name = pdf_name.replace('.pdf', '.png')
    png_path = os.path.join(outfile, png_name)
    for page in pages:
        page.save(png_path, 'PNG')
    #==============================
    im1 = cv2.imread(png_path)
    im2 = cv2.resize(im1, (2433, 3480))   # 为图片重新指定尺寸
    cv2.imwrite(png_path, im2)
    print("自动转换第", i, "个pdf文件!", "=========", pdf_name, "图像尺寸:", im2.shape)
    i = i + 1

4. 参考文章

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐