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文件和目录操作函数小结
Jul 11 Python
python常用知识梳理(必看篇)
Mar 23 Python
Python编程实现双击更新所有已安装python模块的方法
Jun 05 Python
Python实现基本数据结构中队列的操作方法示例
Dec 04 Python
Python实现识别手写数字大纲
Jan 29 Python
python与caffe改变通道顺序的方法
Aug 04 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
Python实现带下标索引的遍历操作示例
May 30 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
一个php作的文本留言本的例子(二)
2006/10/09 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
javascript实现的listview效果
2007/04/28 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
Python 占位符的使用方法详解
2019/07/10 Python
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
大学生实习期自我评价范文
2013/10/03 职场文书
应届生求职简历的自我评价怎么写
2013/10/23 职场文书
大学自我鉴定
2013/12/20 职场文书
经销商培训邀请函
2014/01/21 职场文书
大学应届生的自我评价
2014/03/06 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书