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编码时应该注意的几个情况
Mar 04 Python
Python中的面向对象编程详解(上)
Apr 13 Python
理论讲解python多进程并发编程
Feb 09 Python
Python爬取成语接龙类网站
Oct 19 Python
Python数据类型之Tuple元组实例详解
May 08 Python
解决yum对python依赖版本问题
Jul 05 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
使用openCV去除文字中乱入的线条实例
Jun 02 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
python获取整个网页源码的方法
Aug 03 Python
Python函数中apply、map、applymap的区别
Nov 27 Python
图神经网络GNN算法
May 11 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中实现图片的锐化
2006/10/09 PHP
基于initPHP的框架介绍
2013/04/18 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
Python入门篇之面向对象
2014/10/20 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
暑期实习鉴定
2013/12/16 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
委托培训协议书
2014/11/17 职场文书
导游词400字
2015/02/13 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
创业计划书之书店
2019/09/10 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技