はじめに
どうも、吉山です。必要に迫られphythonとPyQt6の練習がてらPDFを切ったり・貼ったりする加工ツールを作りました。自分の業務で使う機能しかありませんが、自分が困っている場合、同様に困っている人がいるかも知れないので公開しておきます。ソースはネット情報をかき集めて書きました。有益な情報を公開してくれている方々に感謝。このツールは無料です。
使い所
世に同様以上の機能を持無料アプリやWebサービスはいっぱいあります。内容の性質上、運営がよく判らないwebクラウドサービスにPDFを送りたくない。とはいえ勝手にアプリをインストールすると怒られる割に、有料アプリを買ってもらえない人向けです。
注意
Windows10,11でしか動作確認しておりません。本ツールはどなたでも使っていただけますが、習作ですのでサポート対応はしません、不具合は諦めてください。バグ報告・改善点の指摘等も必要ありません。Pythonスクリプトをpyinstallerでexe化しているので機能の割にファイルサイズが大きいです。たまにWindows defenderにウイルス(Trojan:Win32/Wacatac.B!ml)と誤解されます。
使い方
https://bacura.jp/pdf-tools/pdf-tools.zip
上記zipファイルをダウンロードして展開したら準備OK。基本的に本体とiniファイルが同じフォルダにあれば、どこに置いてもよし。それぞれの機能タブを選択して、諸々設定して実行ボタンを押します。
分割
![](https://bacura.jp/wp-content/uploads/2025/02/40625955c314a1cf3582baca6eef3226.png)
PDFを分割します。分割パターンは基本「1」で1ページずつに分割します。「2」なら2ページずつ、「1,2」なら1ページ、2ページと繰り返します。
応用として、半分にしたければ偶数なら全ページの半分、奇数なら半分+1の数字を指定します。
結合
![](https://bacura.jp/wp-content/uploads/2025/02/74012f9383c95cc3184f36f8883e1d93.png)
対象PDFフォルダ内にある全てのPDFを結合します。結合順はファイル名順なので、ファイル名を工夫してください。結合するときに向きの調整と用紙サイズの調整ができます。この向きの調整は表示の変更ではなく内部データを変更します。
向きの調整をすると向きが違うページをどっち向けに回すかの選択肢が現れるのでそちらも指定してください。
用紙の統一は1Pを選択すると1ページ目の用紙サイズに合わせます。A4、A3はそのとおりです。
応用として、1つのファイルで結合すると、向きの統一と用紙の統一だけが行われます。
両面印刷を考慮すると、必要に応じておまけの白紙pdfを間に挟まなければならないかもしれません。
ページ番号
![](https://bacura.jp/wp-content/uploads/2025/02/aff7dfcfed83374d4ab75210bf898e86.png)
PDFにページ番号を付けます。付けられる位置は中心のみです。色々設定がありますが言葉のとおりです。基本的に用紙サイズを揃えた後に行う処理です。
装飾は「P」と「T」以外はそのまま表示されます。例えば「- P -」と設定すると「- 12 -」のようになり、「P / T」と設定すると「3 / 32」のようになります。設定しては行けない記号などありそうですが、検証していません。
スタンプ/ウォーターマーク
![](https://bacura.jp/wp-content/uploads/2025/02/0efbfc384b9555d375b899be7c2cd016.png)
スタンプ(追加pdf)を被せます。途中で面倒になったため、色々作法に厳しい機能。イメージとしてはスタンプは既存PDFの最上面の乗せる、ウォーターマークは最下面に敷く感じ。基本的に用紙サイズを揃えた後に行う処理です。
白い豆腐をのせて一部分を隠したりできるが、本家Adobe Readerにパワポのオブジェクトをペーストして保存する力技が存在するので、存在意義がちょっと。
栞(ブックマーク)
![](https://bacura.jp/wp-content/uploads/2025/02/85f23699a92c95f55ace0a779f10d0e7.png)
PDFにブックマークを作成し、そこから特定のページに飛べるようにします。PDF的には階層化できるらしいが、本ツールでは単層でしか作れません。
栞データの書き方例としては2ページに目次を設定する場合は「2<<目次」のように書く。複数あるときは改行して書く。順番は問いません。空行は無視します。
応用として、一つのページに複数のブックマークを設定することは可能で、タイトルの戦闘に空白があっても問題ないので、擬似的に階層化しているように見えるかもしれません。
png(画像化)
![](https://bacura.jp/wp-content/uploads/2025/02/0dbf0a37abec845dc76de3325f171f20.png)
PDFをpng画像に変換します。スクショ以上の解像度を求める場合に使うことが多い。解像度の限界はPCによるので必ずしも1200dpiでやれるわけではありません。
出力フォルダをデスクトップにして大量ページのPDFを変換すると大変なことになるので注意しましょう。
おまけ(ファイル名抽出)
![](https://bacura.jp/wp-content/uploads/2025/02/6f2b1e2e158d528cdc912ab0617e7196.png)
指定したフォルダにあるファイル名の一覧を得るだけの、全くPDFと関係ない機能です。送信されたファイルが揃っているか送信元に確認するときとかに使います。ファイル名の一覧を作るのは簡単そうで面倒な作業なのです。
コメントを残す