『Python笔记』依据pdf2image批量将pdf文件转换成png图片!

编程入门 行业动态 更新时间:2024-10-28 04:27:05
依据pdf2image批量将pdf文件转换成png图片!

文章目录

  • 1. 安装pdf2image
  • 2. 导入环境变量
  • 3. Python代码
  • 4. 参考文章

  • 提取图片或将每个页面从PDF保存为JPG:https://smallpdf/cn/pdf-to-jpg

1. 安装pdf2image

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

2. 导入环境变量

  • pdf2image是包装器,poppler是转换过程真正需要的
  • 用curl下载:http://blog.alivate.au/wp-content/uploads/2018/10/poppler-0.68.0_x86.7z,解压后,把bin目录添加到PATH环境变量里。

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. 参考文章

  • Python报错:PermissionError: [Errno 13] Permission denied解决方案详解
  • Python PDF转image方法小结
  • 利用pdf2image,将pdf文件转换成图片
  • debian使用pdf2image包 将pdf转化成图片 Poppler安装出问题

更多推荐

『Python笔记』依据pdf2image批量将pdf文件转换成png图片!

本文发布于:2023-06-14 02:55:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1429703.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:批量   文件转换成   笔记   图片   png

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!