PDFハンドリング1

当記事で紹介する、[PDF_handling1.exe]を含む[PDF_handling1.zip]のダウンロードはこちら。
zipファイルを解凍し、SetUp.vbsを実行してからご利用ください。

PythonのPyPDF2を利用して結合、合成などをドラッグ&ドロップだけで実行するシステムを考えました。

ドラッグ&ドロップでできることは、以下の作業です。

1.PDFをファイル名順に結合して、結合前のファイル名を栞として添付する(栞無しも可能)
2.PDF2つを前面・背面として合成する(長・短)
3.PDFの全ページに、ロゴを付ける
4.PDFの全ページに、透かしを付ける
5.PDFからページを抜き出す
6.PDFから同じページ数を順に抜き出す
7.PDFの栞データを抜き出す
8.PDFに栞を付ける
9.PDFの栞を削除する

1.PDFをファイル名順に結合して、結合前のファイル名を栞として添付する(栞無しも可能)

PDFの結合の際に、ファイル名順、栞をファイル名で付ける機能を利用すると、会議の資料を手分けして案件ごとにPDFを作成。

ファイル名に議題の番号を名前を含めて一か所にあつめてから、本ツールにドラッグ&ドロップすると、栞付きのPDFに、会議の最中のページの移動が楽にできるので便利です。

使い方は、複数のPDFを一つのフォルダに集めて置いて、本ツールにドラッグ&ドロップするだけです。

栞付加の方は、結合する前のファイル名から、栞を新たに作りながら結合します。

栞維持の方は、結合する前のPDFにもともと含まれている栞を、そのまま活かして結合します。

PDFの結合で栞が上手く機能しないツールもありますので、特に【結合_栞維持.vbs】はお役に立てるのではないかと思います。

2.PDF2つを前面・背面として合成する(長・短)

2つのPDFを同時にドラッグ&ドロップすると、前面・背面として合成します。

どちらを前面にして、どちらを背面にするかを明示する際は、従属する方のPDFのファイル名に、半角の大括弧をつけて、その中に前面または背面と記入しておくことで実現します。

合成後のファイル名は、大括弧が付いていない方をもとに作成しています。

長・短でどちらを選ぶかは、長の方はページ数が多い方、短はページ数の少ない方に合わせます。

3.PDFの全ページに、ロゴを付ける
4.PDFの全ページに、透かしを付ける

2.PDF2つを前面・背面として合成する(長・短)の応用で、2つのPDFを表裏合成するのですが、その際に、片方のPDFは1ページ目を繰り返しもう片方の全ページに合成します。

スタンプの方は、繰り返す方を前面から貼り付けます。

透かしの方は、繰り返す方を背面から貼り付けます。

5.PDFからページを抜き出す

複数ページのPDFの7ページ目から11ページ目までを抜き出したい際は、VBSのファイル名の大括弧内を[7-11]に書き換えてから、PDFをドラッグ&ドロップします。

図のXの位置に抜き出したい範囲の最初の数字、Yの位置に最後のページの数字を書き込みます。

6.PDFから同じページ数を順に抜き出す

繰り返し同じページ数に分割するのが、CubePDFUtilityなどでは少し面倒に感じますので、PDFを4ページずつ12個のファイルに分割したいと思ったときに作成しました。

PDFをドラッグ&ドロップする前にVBSのファイル名を変更します。

4ページずつ分割するときは、Yの位置に4を書き込みます。

分割を1ページ目からの場合はXの位置に1を書き込みます。

分割したいページの前に、前文などがあった場合に、分割の頭を変えられるので便利です。

7.PDFの栞データを抜き出す

栞付きのPDFをドラッグ&ドロップすると、栞のデータがテキストファイルに出力されます。

栞のテキストデータが必要なケースは少ないかもしれませんが、栞のデータを少し改変して付け直したいときなどに便利です。

8.PDFに栞を付ける

UTF-8で保存したテキストファイルとPDFを同時にドラッグ&ドロップすると、PDFに栞が付けられます。

栞のファイルの構造は、タイトル<>ページ番号が1行ずつなのですが、栞に階層がある場合は、行の頭で[TAB]キーで階層の数だけ下げておきます。

青空文庫より<>1
[TAB]1.だしの取り方<>1
[TAB]2.狸と与太郎<>5
[TAB]3.余と万年筆<>7
[TAB]4.ア、秋<>12
[TAB]5.魚美人<>15
[TAB]第2階層<>16
[TAB][TAB]第3階層<>16
[TAB][TAB][TAB]第4階層<>16

9.PDFの栞を削除する

PDFから、栞を削除したPDFを作成するツールです。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA