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 12 Python
闭包在python中的应用之translate和maketrans用法详解
Aug 27 Python
python下载文件记录黑名单的实现代码
Oct 24 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
opencv实现简单人脸识别
Feb 19 Python
OpenCV+face++实现实时人脸识别解锁功能
Aug 28 Python
Python爬取豆瓣视频信息代码实例
Nov 16 Python
python输出数学符号实例
May 11 Python
Python如何将将模块分割成多个文件
Aug 04 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 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
zend framework多模块多布局配置
2011/02/26 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
PHP计数器的实现代码
2013/06/08 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
Python中内置的日志模块logging用法详解
2016/07/12 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
python检测服务器端口代码实例
2019/08/31 Python
基于python实现把图片转换成素描
2019/11/13 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
Ibatis如何使用动态表名
2015/07/12 面试题
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
医药代表个人求职信范本
2013/12/19 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
MBA推荐信怎么写
2015/03/25 职场文书
2015年实习单位评语
2015/03/25 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
Golang二维数组的使用方式
2021/05/28 Golang
MySQL 聚合函数排序
2021/07/16 MySQL
golang生成vcf通讯录格式文件详情
2022/03/25 Golang