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执行外部程序的常用方法小结
Mar 21 Python
Python中的默认参数详解
Jun 24 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
简单实现python爬虫功能
Dec 31 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
在Python中实现替换字符串中的子串的示例
Oct 31 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
通过实例解析Python调用json模块
Dec 11 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 Python
python实现学生信息管理系统(面向对象)
Jun 05 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
PHP静态类
2006/11/25 PHP
处理php自动反斜杠的函数代码
2010/01/05 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
webpack之devtool详解
2018/02/10 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
用Python编写一个简单的CS架构后门的方法
2018/11/20 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
如何在Python对Excel进行读取
2020/06/04 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
教师业务学习制度
2014/01/25 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
创意广告词
2014/03/17 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
干部外出学习心得体会
2016/01/18 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android