最近因?yàn)橄胍绰?huà),無(wú)奈下載的漫畫(huà)是jpg的格式,網(wǎng)上的轉(zhuǎn)換器還沒(méi)一個(gè)好用的,于是乎就打算用python自己DIY一下:
這里主要用了reportlab。開(kāi)始打算隨便寫(xiě)幾行,結(jié)果為若干坑糾結(jié)了挺久,于是乎就想想干脆把代碼寫(xiě)好點(diǎn)吧。
實(shí)現(xiàn)了以下的幾項(xiàng)功能:
將當(dāng)前文件夾下的圖片保存到一個(gè)pdf中,支持選擇pdf大小等
如果有需要可以遍歷它下面的所有文件夾
簡(jiǎn)單的來(lái)說(shuō)完全滿(mǎn)足我將漫畫(huà)轉(zhuǎn)成pdf格式的需求了。
碰到了一些問(wèn)題
,這里記錄下:
一、中文路徑:
這個(gè)實(shí)在是略蛋疼,總之就是盡量都decode一遍。然后注意win下的路徑是\,要將其轉(zhuǎn)化成/。然后路徑遍歷的時(shí)候也要注意路徑怎么寫(xiě)的。
二、reportlab使用
這個(gè)說(shuō)實(shí)話(huà)很簡(jiǎn)單,因?yàn)闆](méi)考慮加點(diǎn)文字什么的其實(shí)就一句代碼了
c.drawImage(filelist[i] , 0,0,maxw,maxh)
注意文件名也要各種decode啊。
總之借助強(qiáng)大的python有效代碼就30行左右吧,代碼地址
三、pyInstall的打包問(wèn)題
開(kāi)始是打算用py2exe結(jié)果打算接個(gè)簡(jiǎn)單的gui(真的是很簡(jiǎn)單)就開(kāi)始跟我各種錯(cuò),改的差不多想整成一個(gè)exe的時(shí)候有給我來(lái)個(gè)64bit not support。然后就轉(zhuǎn)投pyInstall了,不過(guò)事情遠(yuǎn)不是那么順利,如果用的是2.1版的話(huà)你會(huì)發(fā)現(xiàn)又有個(gè)巨大的bug--打包出來(lái)的exe居然不能放在中文路徑下,于是乎各種找解決方案,然后發(fā)現(xiàn)了兩種解決途徑,一種是有個(gè)修改的版本(https://github.com/dkw72n/pyinstaller.git),另一種是選擇2.0版。這個(gè)解決之后感覺(jué)這個(gè)比py2exe好多了,強(qiáng)烈推薦!
簡(jiǎn)單說(shuō)下使用過(guò)程:
首先是安裝:
1、下載安裝pywin32;
2、下載pyInstall2.0版本(我覺(jué)得這樣最好)
3、下載upx然后將文件夾中的upx.exe移動(dòng)到pyInstall文件夾中
這樣就完成了,連安裝都不用(當(dāng)然你安裝也行。。。)
使用的話(huà)就是
python pyinstaller.py -F c:\scripts\main.py
如果不想要黑框的話(huà)再加個(gè)-w的參數(shù)就好。其他參數(shù):
-F, --onefile Py代碼只有一個(gè)文件
-D, --onedir Py代碼放在一個(gè)目錄中(默認(rèn)是這個(gè))
-K, --tk 包含TCL/TK
-d, --debug 生成debug模式的exe文件
-w, --windowed, --noconsole 窗體exe文件(Windows Only)
-c, --nowindowed, --console 控制臺(tái)exe文件(Windows Only)
-X, --upx 使用upx壓縮exe文件
-o DIR, --out=DIR 設(shè)置spec文件輸出的目錄,默認(rèn)在PyInstaller同目錄
--icon= 加入圖標(biāo)(Windows Only)
-v FILE, --version=FILE 加入版本信息文件
最后pyqt了個(gè)丑陋的縮水的界面(好吧。。我承認(rèn)我真不太會(huì)寫(xiě))
打包大小9M,算是可以接受了
運(yùn)行效果(還不錯(cuò)啦):
以上就是本文的全部?jī)?nèi)容了,希望小伙伴們喜歡。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
