{{category Python}} !!!PythonPDFexe !Copilotに聞いてみる ""Python言語で、複数のPDFファイルを、ファイル名のアルファベット順に結合して、一つのPDFファイルにするスクリプトを書いてください。そして、そのスクリプトをwindows 上で実行できるexeファイルにコンパイルする方法を教えてください。 ---- !Copilotの回答のスクリプト {{pre 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 ---- !修正 *Runしたらエラーが出たので、エラーをググると、 *PyPDF2はもう古いそうなので、新しいものをインストール pipでpypdfをインストールします。 pip install pypdf *それに伴い、PdfMergerは古くなったので、PdfWriterを使う *出来上がったPDFが同じディレクトリーにあると困るので、外に保存するように修正(一つ上のディレクトリ) !上の修正を施して(by杉浦)動くスクリプトが出来上がり {{pre 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ファイルですが、ここに貼り付けておきますね。 {{ref PPDF.exe}} !使い方 +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