LoginSignup
1
2

More than 3 years have passed since last update.

PythonでPDF結合GUIを作る その3

Posted at

最終回その3です

 その1 TkinterでUI作成
 その2 PyPDF2でPDF操作
 その3 pyinstallerでexe化+アイコンを付ける

アイコンを探す

フリーのアイコンをiconfinderで探します
python(ガラガラヘビ)というよりcobra(コブラ)?
image.png

アイコンをウィンドウに埋め込み

下の▼を押すとpngのbase64 encodeが表示されるのでコピーして以下の通りコードに埋め込みます
(横に長くてすいません)

#アイコンpngファイルのbase64エンコード
data = '''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
     ''' 

root.tk.call('wm', 'iconphoto', root._w, tkinter.PhotoImage(data=data))

できました!
image.png

pyinstallerでexeファイル作成

pythonがない環境でも動かせるようにexe化
 ・アイコンファイルMergerIcon.icoを.pyファイルと同じフォルダにいれておきます
 ・コンソールで以下のように記述

pyinstaller --onefile --noconsole --icon=MergerIcon.ico PDFMerger_01_qiita.py 

distフォルダにexeファイルができました!
ファイルサイズが8M以上もあるのは何故?!
image.png

参考

まとめ

稚拙なコード・投稿記事をご覧いただきありがとうございました。
次はPDFの電子署名ツール(シャチハタ代わり)について投稿予定です。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2