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 25 Python
跟老齐学Python之开始真正编程
Sep 12 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
python回调函数用法实例分析
May 09 Python
编写自定义的Django模板加载器的简单示例
Jul 21 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
Python实现迭代时使用索引的方法示例
Jun 05 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
高考考python编程是真的吗
Jul 20 Python
Python与C++中梯度方向直方图的实现
Mar 17 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
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
jQuery实现手机号正则验证输入及自动填充空格功能
2018/01/02 jQuery
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
微信小程序图片自适应实现解析
2020/01/21 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
Python实用日期时间处理方法汇总
2015/05/09 Python
深入浅析Python中的迭代器
2019/06/04 Python
Django 用户认证组件使用详解
2019/07/23 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
python 高阶函数简单介绍
2021/02/19 Python
全球性的在线购物网站:Zapals
2017/03/22 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
机械绘图员岗位职责
2013/11/19 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
Python图像处理库PIL详细使用说明
2022/04/06 Python