*disclaimer
1196858
[Python]
PythonPDFexe
Copilotに聞いてみる
Python言語で、複数のPDFファイルを、ファイル名のアルファベット順に結合して、一つのPDFファイルにするスクリプトを書いてください。そして、そのスクリプトをwindows 上で実行できるexeファイルにコンパイルする方法を教えてください。
Copilotの回答のスクリプト
import glob
from PyPDF2 import PdfMerger
merge = PdfMerger()
for filename in sorted(glob.glob('*.pdf')):
merge.append(filename)
print(filename)
merge.write('merge.pdf')
merge.close()
このスクリプトは、カレントディレクトリ内のすべてのPDFファイルを結合し、merge.pdfというファイル名で出力します。スクリプトを実行するには、次のコマンドを使用してください。
python3 merge.py
- 注意:スクリプトファイルの文字コードは UTF-8 にしておくこと。
修正
- Runしたらエラーが出たので、エラーをググると、
- PyPDF2はもう古いそうなので、新しいものをインストール
pipでpypdfをインストールします。 pip install pypdf
- それに伴い、PdfMergerは古くなったので、PdfWriterを使う
- 出来上がったPDFが同じディレクトリーにあると困るので、外に保存するように修正(一つ上のディレクトリ)
上の修正を施して(by杉浦)動くスクリプトが出来上がり
import glob
from pypdf import PdfWriter
merge = PdfWriter()
for filename in sorted(glob.glob('*.pdf')):
merge.append(filename)
print(filename)
merge.write('../merge.pdf')
merge.close()
Copilotの回答(つづき)
このスクリプトをWindows上で実行できるexeファイルにコンパイルする方法について説明します。Pythonスクリプトをexeファイルに変換するために、pyinstallerというツールを使用します。以下の手順で進めてみてください。
まず、pyinstallerをインストールします。コマンドプロンプトまたはターミナルで次のコマンドを実行してください。
pip install pyinstaller
次に、Pythonスクリプトをexeファイルに変換します。コマンドプロンプトまたはターミナルでスクリプトがあるディレクトリに移動し、次のコマンドを実行してください。
pyinstaller --onefile merge.py
これにより、distディレクトリ内にmerge.exeという実行可能ファイルが生成されます。
merge.exeをダブルクリックして実行してみてください。スクリプトが正常に実行され、merge.pdfが生成されるはずです。
以上の手順で、PythonスクリプトをWindows上で実行可能なexeファイルに変換できます。
ほぅ、出来上がり!
exeファイルですが、ここに貼り付けておきますね。
PPDF.exe(215)
使い方
- PPDF.exeをダウンロードする
- まとめたいPDFファイルを入れたフォルダーの中にPPDF.exeをコピーする
- そのフォルダー内で、PPDF.exeをダブルクリックするだけ
- そのフォルダーの外に merge.pdfというPDFファイルが出来上がり。
References
https://qiita.com/persim/items/2de431bb345df3f2c196
https://qiita.com/iceblue/items/5a584591bc13f4540366
https://www.yutaka-note.com/entry/pypdf
https://sugiura-ken.org/wiki/