LoginSignup
4
3

ChatGPTでPDFファイル名を自動で適切な名前にリネームするプログラム

Last updated at Posted at 2023-05-07

概要

これは、OpenAIのChatGPTを利用してPDFファイルのファイル名を自動で適切な名前にリネームするプログラムです。指定された入力フォルダ内のPDFファイルを読み込み、その内容に基づいて適切な題名を生成し、出力フォルダにリネームされたファイルを保存します。

ソースコードは以下をご参照ください。
https://github.com/PsychYu/SmartPDF

【処理前のファイル(例)】

【処理後のファイル(例)】

環境構築

Gitリポジトリのクローン

次のGitコマンドでリポジトリをクローンしてください。

git clone git@github.com:PsychYu/SmartPDF.git

Gitを導入していない場合、GitHubのサイトから直接ダウンロードしてください。

必要なパッケージのインストール

次のコマンドで必要なPythonパッケージをインストールします。
なお、Python自体のインストールはすでに完了しているものとします。

pip install -r requirements.txt

Tesseract OCRのインストール

Tesseract OCRをインストールします。デフォルトではC:\Program Files\Tesseract-OCRが読み込まれます。別の場所にインストールした場合は、settings.initesseract_pathのパスを変更してください。

Popplerのインストール

Popplerをダウンロードし、解凍したうえでsmartPDF.pyと同一のディレクトリ直下に配置してください。別の場所に配置した場合は、settings.inipoppler_pathのパスを変更してください。

設定

smartPDF.pyを実行すると、「OpenAI APIキーが設定されていません。settings.iniにAPIキーを設定してください。」と表示され、settings.iniが開きます。ここでOpenAIのAPIキーを追記してください。

使い方

  1. プログラムを実行してメインウィンドウを表示させます。
  2. 入力フォルダと出力フォルダを選択します。
  3. 「開始」ボタンをクリックして処理を開始します。

入力フォルダ内のPDFファイルが読み込まれ、それぞれのファイルの内容に基づいて題名が生成され、出力フォルダにリネームされたファイルが保存されます。プログラムが完了すると、リネームされたファイルのサマリがポップアップウィンドウで表示されます。

※venvによる仮想環境を作成した場合は、smartPDF.batを実行することで仮想環境が自動的に有効化され、プログラムが実行されます。仮想環境の名前はvenvとしています。もし別の名前にした場合は、smartPDF.batを編集してください。

注意事項

  • このプログラムは、OpenAIのChatGPTを利用して作成いたしました。APIキーは設定時にOpenAIのサービスにアクセスするために必要です。APIキーをお持ちでない場合は、先にAPI利用申請を行ってください。
  • プログラムの使用には、OpenAIのAPI利用料が発生する場合があります。
  • このプログラムはWindows 10でのみ動作確認を行っています。
  • PDFファイルの解析にはOCR技術を利用しています。解析結果は100%正確ではないため、リネーム後のファイル名に誤りが含まれる場合があります。リネームされたファイル名を確認して問題がある場合は手動で修正してください。
  • 入力フォルダ内のファイル数が多い場合、プロセスに時間がかかることがあります。適切な範囲でファイルを分けることをおすすめします。

まとめ

これは、PDFファイル名を自動的にリネームするプログラムです。OpenAIのChatGPTを利用して、PDFファイルの内容に基づいて適切な題名を生成し、出力フォルダにリネームされたファイルを保存します。環境構築や初期設定を行うことで、簡単にPDFファイル名の整理が可能になります。是非お試しください。

4
3
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
4
3