用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

相關文章
相關標籤/搜索