2022年12月30日金曜日

PDFのページを逆順にするバッチ(ドラッグ&ドロップで実行)

 デスクトップにアイコンを置いておいて、そこにPDFをドラッグするとページの順番を逆順にするバッチです。

1、2、3ページの本なら3、2、1ページの順番になります。

縦書きで右綴じの小説などをPDFに自炊した際、ページを逆順にして最後から読むことでページを右から左に開けます。これがしたくて作ったバッチです。


動作前提

  • Windows10であること(Win10でしか動作試してません)
  • pdftkがインストール済みでパスが通っていること


動作概要

①バッチのアイコンにドラッグされた「AAA.pdf」を「AAA_逆順_pdftk処理用.pdf」というファイル名でコピーします。ファイルは同じ階層にコピーされます。
②「AAA_逆順_pdftk処理用.pdf」をpdftkでページ逆順に加工し、「AAA_逆順.pdf」というファイル名で保存します。
③最後に「AAA_逆順_pdftk処理用.pdf」を削除します。




バッチ

@echo off

rem ■■ PDFのコピー ■■
rem 「AAA.pdf」を「AAA.pdf_tmp」という名前でコピー。
copy %1 %1_tmp

rem 変数のファイル名を調整し、「.pdf_tmp」を削除。
rem 「AAA.pdf_tmp」の場合変数の中身が「AAA」になる。
set fileName=%1_tmp
set fileName=%fileName:.pdf_tmp=%

rem 「AAA.pdf_tmp」を「AAA_逆順_pdftk処理用.pdf」という名前にしてmove。
rem 「AAA_逆順_pdftk処理用.pdf」はpdftk実行後に削除する、一時的なファイル。
move %1_tmp %fileName%_逆順_pdftk処理用.pdf

rem ■■ pdftkにてページを逆順にする ■■
rem ページを逆順にする。
pdftk %fileName%_逆順_pdftk処理用.pdf cat end-1 output %fileName%_逆順.pdf

rem 「AAA_逆順_pdftk処理用.pdf」を削除する。
del %fileName%_逆順_pdftk処理用.pdf

echo 処理が完了しました。
echo 5秒後にウィンドウを閉じます…。
timeout 5 > null


使い方

  1. 上記のコードを「逆順に変換.bat」などの名前でデスクトップに保存する。
  2. PDFファイルを1で作ったアイコンにドラッグする。
  3. PDFファイルと同じ場所に逆順のファイルができる。


ネットで検索したらpdftkでページを逆順にするコマンドはいっぱい出てきたんですけど、バッチ化までされてる方が見つけられなかったので記事にしてみました。


※上記のバッチ作成は自己責任でお願い致します。動作保証は致しません。