Python结合ImageMagick实现多张图片合并为一个pdf文件的方法


Posted in Python onApril 24, 2018

本文实例讲述了Python结合ImageMagick实现多张图片合并为一个pdf文件的方法。分享给大家供大家参考,具体如下:

前段时间买了不少书,现在手头的书籍积累的越来越多,北京这边租住的小屋子空间越来越满了。自从习惯了笔记本触摸板的手势操作之后,我偶觉得使用电脑看电子文档也挺享受的。于是想把自己的部分书籍使用手机拍照,然后合并成一个pdf文件。

最初尝试过找成熟的Windows软件,但是始终没有找到一个好用的软件。想写脚本处理,一直也没有实现。偶然查看ImageMagick软件的说明,找到了可以批量合并的方法。于是,这个功能终于可以轻松实现了。

写了一个简单的小脚本:

import os
defCompressImage(image_name):
  os.system("convert -resize\"600x800>\" %s %s" % (image_name,image_name))
def CompressAll():
  ext_names = ['.JPG','.jpg','.jepg']
  for each_image in os.listdir('./'):
    for ext_name in ext_names:
      ifeach_image.endswith(ext_name):
        CompressImage(each_image)
        break
CompressAll()
os.system("convert*.JPG book.pdf")

脚本运行之后,生成了一个pdf文件。打开文件如下:

Python结合ImageMagick实现多张图片合并为一个pdf文件的方法

从上面的结果可以看出,图片的批量合成pdf文件的功能是实现了。自然,合成的时候需要考虑文件的排序。后期查一下排序的规律为文件重命名一下即可。

更多Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
Python简单计算给定某一年的某一天是星期几示例
Jun 27 Python
DES加密解密算法之python实现版(图文并茂)
Dec 06 Python
python 使用 requests 模块发送http请求 的方法
Dec 09 Python
django主动抛出403异常的方法详解
Jan 04 Python
python、Matlab求定积分的实现
Nov 20 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
如何利用python 读取配置文件
Jan 06 Python
python实现经典排序算法的示例代码
Feb 07 Python
用Python写一个简易版弹球游戏
Apr 13 Python
Python绘制分类图的方法
Apr 20 Python
python3+PyQt5实现柱状图
Apr 24 #Python
python3+PyQt5自定义视图详解
Apr 24 #Python
python自动重试第三方包retrying模块的方法
Apr 24 #Python
python3+PyQt5泛型委托详解
Apr 24 #Python
python去除扩展名的实例讲解
Apr 23 #Python
python3 遍历删除特定后缀名文件的方法
Apr 23 #Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 #Python
You might like
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
python实现关键词提取的示例讲解
2018/04/28 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
python中的数据结构比较
2019/05/13 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
集体婚礼证婚词
2014/01/13 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
2014年政教处工作总结
2014/12/20 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android