popplerでドラックアンドドロップでpdf分割でハマった
Windows版のpopplerでPDFを分割しようとした。
具体的には、バッチファイルに分割したいPDFをドラックアンドドロップするとファイル名のフォルダを作成してそこに001.pdf,002.pdfというようにPDFファイルを作成するというもの。
しかしpopplerは漢字が上手く扱えなかった。
C:\tmp>poppler\bin\pdfseparate.exe 請求書.pdf 請求書\%03d.pdf
I/O Error: Couldn't open file '<e8><ab><8b><e6><b1><82><e6><9b><b8>\001.pdf'
このバッチはPCにあまり詳しくない人でも使えるようにドラックアンドドロップで処理できるようにしたかったのでファイル名を変えてねとかちょっと厳しい。
そこで、バッチファイルは日本語が正しく扱えるので、バッチファイルで日本語部分を誤魔化せば行けるのではないかと思って次のようにしたところうまくいった。
cd %~dp0
mkdir %~n1
cd %~n1
copy "%1" input.pdf
..\poppler\bin\pdfseparate.exe input.pdf %%03d.pdf
del /F input.pdf
もしファイル名が「001.pdf」ではなくて、「請求書_001.pdf」という要望であれば、PDF生成後にバッチでリネームしてやる必要がある。
今回はそこまで求められていないのでここまでにした。
誰かの役に立てばいいな。