【Python】pdf文件逐页转图片/修改图片存储大小脚本
来源:互联网 发布:新西兰移民 知乎 编辑:程序博客网 时间:2024/06/06 07:08
在项目APP开发过程中需要将pdf文件逐页转成图片,并同时修改图片的大小(磁盘大小有要求而尺寸大小不作要求),研究了一下通过Python的“PyPDF2”库(参考:http://blog.csdn.net/sweeper_freedoman/article/details/52994400)和“PythonMagick”库(参考:http://blog.csdn.net/sweeper_freedoman/article/details/52994690)实现了需求。脚本简单如下。
# !/usr/bin/python# -*- coding: utf-8 -*-"""author : 蛙鳜鸡鹳狸猿create_time : 2016年 11月 01日 星期二 17:38:06 CSTprogram : *_* script of manipulating pdf *_*"""import sysimport PyPDF2import PythonMagickclass ManImage: """ Manipulate Image Object """ def __init__(self, i_file, o_dire): """ init args :param i_file: (str) input pdf file (eg: "/home/file.pdf") :param o_dire: (str) output image directory (eg: "/home/") """ self.i_file = i_file self.o_dire = o_dire def __str__(self): traceback = "Executing under {0.argv[0]} of {1.i_file} into {2.o_dire}......".format(sys, self, self) return traceback def playpdf(self, ds): """ split pdf file :param ds: (int) set ds = 1024 ~= 1MB output under my test :return: splited PNG image file """ pages = PyPDF2.PdfFileReader(file(self.i_file, "rb")).getNumPages() print('Totally get ***{0:^4}*** pages from "{1.i_file}", playpdf start......'.format(pages, self)) try: for i in range(pages): image = PythonMagick.Image() image.density(str(ds)) image.read(self.i_file + '[' + str(i) + ']') image.magick("PNG") image.write(self.o_dire + str(i + 1) + ".png") print("{0:>5} page OK......".format(i + 1)) except Exception, e: print(str(e))
以上代码写入一个“class_image.py”文件,下面是调取的简单示例。
# !/usr/bin/python# -*- coding: utf-8 -*-# te_author : 蛙鳜鸡鹳狸猿# create_time : 2016年 11月 01日 星期二 17:38:06 CST# NOTICE : *_* script of converting .pdf to .png*_*import sysimport class_imagei_file = sys.argv[1]o_dire = sys.argv[2]ds = sys.argv[3]if i_file[-4:] == ".pdf": class_image.ManImage(i_file=i_file, o_dire=o_dire).playpdf(ds=ds)else: exit()
即在命令行分别传入读入文件、输出目录以及图片大小三个参数,操作起来方便简捷。如果是直接处理图片,参考:http://blog.csdn.net/sweeper_freedoman/article/details/53000520和http://blog.csdn.net/sweeper_freedoman/article/details/69789307。
0 0
- 【Python】pdf文件逐页转图片/修改图片存储大小脚本
- 【Python】批量直接修改图片存储大小脚本
- pdf文件怎么修改图片
- python批处理实现爬取网页静态图片文件重命名图片统一修改大小等功能
- PDF文件如何修改文字和图片
- java 修改图片 大小
- byte[]图片修改大小
- 图片上传大小修改
- 图片转换PDF文件
- 如何对PDF文件的文字图片编辑修改
- 怎样将PDF文件中的图片进行修改
- 修改PDF文件中的图片用什么编辑器 怎么操作
- java PDFBOX修改pdf图片
- 图片加载前修改图片的大小
- Python+ImageMagick实现多图片合并为一个pdf文件
- 图片像素、大小的修改
- RatingBar 修改 颜色 大小 图片
- java修改图片的大小
- MacOS下hls/rtmp直播服务器搭建(包括推流)
- 类与对象二(基础)
- centos7安装memcached及配置等
- Runtime梳理
- 大数据—Spark简介
- 【Python】pdf文件逐页转图片/修改图片存储大小脚本
- AlertDialog三种退出方式分析
- 【USACO】2004 Open MooFest 奶牛集会
- 分类算法SVM(支持向量机)
- MyBatis的增删改查基本操作
- 图形化脚本1.dialog工具
- 4 js面向对象基础 - 预解析,词法作用域,作用域链
- Java for循环的几种用法分析
- struts2