最近因為想要看漫畫,無奈下載的漫畫是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居然不能放在中文路徑下,於是乎各種找解決方案,然後發現了兩種解決途徑,一種是有個修改的版本(https://github.com/dkw72n/pyinstaller.git),另一種是選擇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了個醜陋的縮水的介面(好吧。。我承認我真不太會寫)
打包大小9M,算是可以接受了
運行效果(還不錯啦):
以上就是本文的全部內容了,希望小夥伴們喜歡。