Python使用到第三方库PyMuPDF图片与pdf相互转换


Posted in Python onMay 03, 2019

使用 Python 进行图片和pdf之间的相互转换

使用到第三方库 PyMuPDF 在 python 环境下对 PDF 文件的操作。

PDF 转为图片

需新建文件夹 pdf2png

import fitz
import glob

def rightinput(desc):
  flag=True
  while(flag):
    instr = input(desc)
    try:
      intnum = eval(instr)
      if type(intnum)==int:
        flag = False
    except:
      print('请输入正整数!')
      pass
  return intnum

pdffile = glob.glob("*.pdf")[0]
doc = fitz.open(pdffile)

flag = rightinput("输入:1:全部页面;2:选择页面\t")
if flag == 1:
  strat = 0
  totaling = doc.pageCount
else:
  strat = rightinput('输入起始页面:') - 1
  totaling = rightinput('输入结束页面:')

for pg in range(strat, totaling):
  page = doc[pg]
  zoom = int(100)
  rotate = int(0)
  trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).preRotate(rotate)
  pm = page.getPixmap(matrix=trans, alpha=False)
  pm.writePNG('pdf2png/%s.png' % str(pg+1))

图片合并为 PDF 文件

将所需合并的图片放置与文件夹 pic2pdf 中。

import glob
import fitz
import os

def pic2pdf():
  doc = fitz.open()
  for img in sorted(glob.glob("pic2pdf/*")): # 读取图片,确保按文件名排序
    print(img)
    imgdoc = fitz.open(img)         # 打开图片
    pdfbytes = imgdoc.convertToPDF()    # 使用图片创建单页的 PDF
    imgpdf = fitz.open("pdf", pdfbytes)
    doc.insertPDF(imgpdf)          # 将当前页插入文档
  if os.path.exists("allimages.pdf"):
    os.remove("allimages.pdf")
  doc.save("allimages.pdf")          # 保存pdf文件
  doc.close()

if __name__ == '__main__':
  pic2pdf()

好了今天为大家介绍的比较简单,希望大家能明天

Python 相关文章推荐
python实现的解析crontab配置文件代码
Jun 30 Python
详解如何利用Cython为Python代码加速
Jan 27 Python
Tensorflow 查看变量的值方法
Jun 14 Python
Python3连接SQLServer、Oracle、MySql的方法
Jun 28 Python
将tensorflow的ckpt模型存储为npy的实例
Jul 09 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
python性能测量工具cProfile使用解析
Sep 26 Python
python3排序的实例方法
Oct 20 Python
python代码实现猜拳小游戏
Nov 30 Python
Django自带的用户验证系统实现
Dec 18 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
Python 中的Sympy详细使用
Aug 07 Python
利用python将图片版PDF转文字版PDF
May 03 #Python
Python3.0中普通方法、类方法和静态方法的比较
May 03 #Python
Python Flask框架模板操作实例分析
May 03 #Python
Python Flask框架扩展操作示例
May 03 #Python
Python安装Flask环境及简单应用示例
May 03 #Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 #Python
Python3模拟curl发送post请求操作示例
May 03 #Python
You might like
php生成图片验证码-附五种验证码
2015/08/19 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
Vue实现手机计算器
2020/08/17 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
基于python编写的微博应用
2014/10/17 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
就业推荐表自我鉴定
2013/10/29 职场文书
期末考试动员演讲稿
2014/01/10 职场文书
展会邀请函范文
2014/01/26 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
本溪关门山导游词
2015/02/09 职场文书
世界环境日活动总结
2015/02/11 职场文书
飞屋环游记观后感
2015/06/08 职场文书
2016国庆促销广告语
2016/01/28 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL