- Python3をインストールする(開発環境は3.8.2)
- pip(Pythonのパッケージマネージャ)で
pdfplumber
パッケージをインストールする - 本スクリプトをexVOICE一覧のPDFと同じフォルダに配置する
- 本スクリプトを(ダブル)クリックで実行する、あるいはコマンドプロンプトやGit Bash等から(引数を付けて)実行する
これ1つで変換完了ではありません。株式会社AIのガバでいくつかのフォルダやファイル名が違うため、一部のファイル名はそのまま残ります。
でも全部手打ちするよりは楽なはず。
また、バッチファイルやCSVデータはキャラクターごと(一覧PDFごと)に生成するため、琴葉姉妹のexVOICEをリネームするには茜と葵で2回実行する必要があります。
【追記】
IMABARI ZINE氏がtabula-py
ではなくpdfplumber
を使った実装を教えてくださいました!このライブラリはJavaに依存しませんので、Python3環境さえあれば実行できるようになります。
【追記2】
琴葉姉妹については公式サイト上で2人のexVOICE一覧が1つに結合されたPDFが公開されていると教えていただいたのですが、わざわざ結合版を用いてリネームを行う理由が思い当たりませんでした。(琴葉姉妹のリネームが1回で終われば確かに便利なものの、それを実現するには琴葉姉妹専用の処理を追加する必要があり、実装の手間に対して益が薄い)
見出しがリストに混入する現象もあり確かにバグには違いないですが、実装の手間に対して益が薄い&本スクリプトの目的であるリネームおよびそれを実現するためのファイルの出力はできているため、結合済PDFはサポート外とします。
結合済PDFのほうで誤字が直されるとかそういうことがあればサポートするかもしれません。
2021-02-25 : 一部の(ファイルやフォルダ名に問題のない)ファイルの名前が置換されない問題を修正
2021-02-26 : 先駆者のバッチファイルに似たバッチファイルや、リネームツール用のCSVデータを生成できる機能を追加
2021-02-27 : PDFから表を抜き出すライブラリをtabula-py
からpdfplumber
に変更。ついでに出力するバッチファイルがエラーを吐く問題を修正
tabula-pyがJavaも必要とするんですね。次のエラーで終了してしまいました。
Java(OpenJDK 15)をインストールしてPATH通したら動きました。
便利なスクリプトをありがとうございます!