用python DIY一个图片转pdf工具并打包成exe

最近由于想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,因而乎就打算用python本身DIY一下:
这里主要用了reportlab。开始打算随便写几行,结果为若干坑纠结了挺久,因而乎就想一想干脆把代码写好点吧。python

实现了如下的几项功能:

  • 将当前文件夹下的图片保存到一个pdf中,支持选择pdf大小等
  • 若是有须要能够遍历它下面的全部文件夹

简单的来讲彻底知足我将漫画转成pdf格式的需求了。git

碰到了一些问题,这里记录下:

1、中文路径:

这个实在是略蛋疼,总之就是尽可能都decode一遍。而后注意win下的路径是\,要将其转化成/。而后路径遍历的时候也要注意路径怎么写的。github

2、reportlab使用

这个说实话很简单,由于没考虑加点文字什么的其实就一句代码了ui

c.drawImage(filelist[i] , 0,0,maxw,maxh)

注意文件名也要各类decode啊。
总之借助强大的python有效代码就30行左右吧,代码地址debug

3、pyInstall的打包问题

开始是打算用py2exe结果打算接个简单的gui(真的是很简单)就开始跟我各类错,改的差很少想整成一个exe的时候有给我来个64bit not support。而后就转投pyInstall了,不过事情远不是那么顺利,若是用的是2.1版的话你会发现又有个巨大的bug--打包出来的exe竟然不能放在中文路径下,因而乎各类找解决方案,而后发现了两种解决途径,一种是有个修改的版本(https://github.com/dkw72n/pyinstaller.git),另外一种是选择2.0版。这个解决以后感受这个比py2exe好多了,强烈推荐!
简单说下使用过程:
首先是安装:
一、下载安装pywin32;
二、下载pyInstall2.0版本(我以为这样最好)
三、下载upx而后将文件夹中的upx.exe移动到pyInstall文件夹中
这样就完成了,连安装都不用(固然你安装也行。。。)
使用的话就是code

python pyinstaller.py -F c:\scripts\main.py

若是不想要黑框的话再加个-w的参数就好。其余参数:blog

-F, --onefile Py代码只有一个文件
-D, --onedir Py代码放在一个目录中(默认是这个)
-K, --tk 包含TCL/TK
-d, --debug 生成debug模式的exe文件
-w, --windowed, --noconsole 窗体exe文件(Windows Only)
-c, --nowindowed, --console 控制台exe文件(Windows Only)
-X, --upx 使用upx压缩exe文件
-o DIR, --out=DIR 设置spec文件输出的目录,默认在PyInstaller同目录
--icon= 加入图标(Windows Only)
-v FILE, --version=FILE 加入版本信息文件

最后pyqt了个丑陋的缩水的界面(好吧。。我认可我真不太会写)
图片

打包大小9M,算是能够接受了
运行效果(还不错啦):
ip

相关文章
相关标签/搜索