工作需要总扫描一堆文件然后生成一个PDF。一是用工具,把图片转成PDF的在线工具和安装工具挺多,但是都是收费,而且不方便。二是Word转PDF,需要把图片一个一个托到Word也挺费劲。
最终还是决定用Python写一个自己用的小工具。可以把输入图片直接resize,然后打包成符合大小的PDF。
最后打包的时候遇到一些小问题。
打包用的pyinstaller ,直接在PyCharm安装的。
打包的时候加上PYQT5的路径
pyinstaller -F -w --icon=cbp.ico --path=D:\anaconda\envs\py3\Lib\site-packages\PyQt5\Qt\bin --path=D:\anaconda\envs\py3\Lib\site-packages\PyQt5\Qt\plugins It_widget.py
遇到问题1:程序运行的时候找不到依赖的库sip,最后的解决办法是,代码里加了一句sip导入
import sip
遇到问题2:打包完成后提示:This application failed to start because no Qt platform plugin could be initialized...的问题。
这个问题折腾很久,最后在国外网站找到简单的解决办法,把QT5目录下面的platforms拷到打包的exe目录,就完美的解决了。
platforms目录在\Lib\site-packages\PyQt5\Qt\plugins下面。
这样唯一不好的就是发布程序不够简洁,还必须带个目录,不过工具好用就行,小问题不纠结了。时间宝贵!