博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用python DIY一个图片转pdf工具并打包成exe
阅读量:4325 次
发布时间:2019-06-06

本文共 1306 字,大约阅读时间需要 4 分钟。

最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下:

这里主要用了reportlab。开始打算随便写几行,结果为若干坑纠结了挺久,于是乎就想想干脆把代码写好点吧。

实现了以下的几项功能:

  • 将当前文件夹下的图片保存到一个pdf中,支持选择pdf大小等
  • 如果有需要可以遍历它下面的所有文件夹

简单的来说完全满足我将漫画转成pdf格式的需求了。

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

一、中文路径:

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

二、reportlab使用

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

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

注意文件名也要各种decode啊。

总之借助强大的python有效代码就30行左右吧,

三、pyInstall的打包问题

开始是打算用py2exe结果打算接个简单的gui(真的是很简单)就开始跟我各种错,改的差不多想整成一个exe的时候有给我来个64bit not support。然后就转投pyInstall了,不过事情远不是那么顺利,如果用的是2.1版的话你会发现又有个巨大的bug--打包出来的exe居然不能放在中文路径下,于是乎各种找解决方案,然后发现了两种解决途径,一种是有个修改的版本(),另一种是选择2.0版。这个解决之后感觉这个比py2exe好多了,强烈推荐!

简单说下使用过程:
首先是安装:
1、下载安装pywin32;
2、下载pyInstall2.0版本(我觉得这样最好)
3、下载upx然后将文件夹中的upx.exe移动到pyInstall文件夹中
这样就完成了,连安装都不用(当然你安装也行。。。)
使用的话就是

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

如果不想要黑框的话再加个-w的参数就好。其他参数:

-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了个丑陋的缩水的界面(好吧。。我承认我真不太会写)

300007143787898.png

300006500812209.jpg

打包大小9M,算是可以接受了

运行效果(还不错啦):
300007225197317.jpg

转载于:https://www.cnblogs.com/MrLJC/p/4261339.html

你可能感兴趣的文章
第一次作业
查看>>
“==”运算符与equals()
查看>>
单工、半双工和全双工的定义
查看>>
Hdu【线段树】基础题.cpp
查看>>
时钟系统
查看>>
BiTree
查看>>
5个基于HTML5的加载动画推荐
查看>>
水平权限漏洞的修复方案
查看>>
静态链接与动态链接的区别
查看>>
Android 关于悬浮窗权限的问题
查看>>
如何使用mysql
查看>>
linux下wc命令详解
查看>>
敏捷开发中软件测试团队的职责和产出是什么?
查看>>
在mvc3中使用ffmpeg对上传视频进行截图和转换格式
查看>>
python的字符串内建函数
查看>>
Spring - DI
查看>>
微软自己的官网介绍 SSL 参数相关
查看>>
Composite UI Application Block (CAB) 概念和术语
查看>>
64位MATLAB和C混合编程以及联合调试
查看>>
原生js大总结二
查看>>