找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 2362|回复: 0

PDF转换成图片(png)----批量转换

[复制链接]

492

主题

7万

元宝

77万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
770449
发表于 2021-10-31 14:20:44 | 显示全部楼层 |阅读模式
  1. import fitz
  2. import os
  3. def pdf2png(url):
  4.     name = []
  5.     path = []
  6.     i = 1
  7.     #在路径内搜索PDF文件,并加入列表,生成字典,键值对分别是文件名和文件路径
  8.     for lujing,liebiao,wenjian in os.walk(url):
  9.         for a in wenjian:
  10.             if a.endswith('pdf'):
  11.                 patha = lujing +'\\' +a
  12.                 path.append(patha)
  13.                 name.append(a)
  14.                 zidian = dict(zip(name,path))
  15.     #在字典内拿到文件名创建文件夹,然后转图片放到对应文件夹
  16.     for name,path in zidian.items():
  17.         lujing=path.replace('.pdf','')
  18.         if not os.path.exists(lujing):
  19.             os.mkdir(lujing)
  20.         #  打开PDF文件,生成一个对象
  21.         doc = fitz.open(path)
  22.         print(path,f'一共{doc.pageCount}页')
  23.         for pg in range(doc.pageCount):
  24.             page = doc[pg]
  25.             rotate = int(0)
  26.             # 每个尺寸的缩放系数为2,这将为我们生成分辨率提高两倍的图像。
  27.             zoom_x = 2.0
  28.             zoom_y = 2.0
  29.             trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
  30.             pm = page.getPixmap(matrix=trans, alpha=False)
  31.             pm.writePNG(lujing +'\\'+ '{:02}.png'.format(i))
  32.             i = i+1
  33.             print(f'第{i-1}页转换完成')
  34.         i = 1


  35. url = input('请输入文件夹地址:')
  36. pdf2png(url)
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号-3 )

GMT+8, 2024-12-22 00:12 , Processed in 0.067399 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表