見出し画像

PythonでPDFにページ数を挿入する方法(GoogleColab)

PythonでPDFにページ数を挿入する(GoogleColab)手順・ステップ

①PyMuPDFライブラリのインストール:
スクリプトの実行前に、PyMuPDFライブラリ(pymupdf)をインストールします。このライブラリはPDFファイルの読み込み、編集、保存のために使用されます。

②ライブラリのインポート:
PyMuPDFライブラリからfitzモジュールをインポートします。このモジュールがPDFの操作に必要な機能を提供します。

③PDFドキュメントの開き:
指定された入力PDFファイルパスを使用して、PDFドキュメントを開きます。これにより、ドキュメント内のページにアクセスできるようになります。

④ページごとの処理:
ドキュメント内の全ページに対してループを実行します。各ページについて、以下の処理を行います。
 1.ページオブジェクトを取得。
 2.ページ番号を計算(1始まり)。

⑤ページ番号の位置決定:
各ページの大きさ(幅と高さ)に基づいて、ページ番号を挿入する位置(通常はページの右下隅)を計算します。

⑥ページ番号の挿入:
計算された位置にページ番号を挿入します。これには、ページオブジェクトのinsert_textメソッドを使用し、フォントサイズ、色などのパラメータを指定します。

⑦変更の保存とドキュメントの閉鎖:
ページ番号が全ページに追加された後、ドキュメントの変更を指定された出力ファイルパスに保存します。最後に、ドキュメントを閉じます。

⑧スクリプトの実行:
定義された関数add_page_numbers_to_pdfを実行し、入力PDFファイルにページ番号を追加し、結果を別のファイルとして保存します。


PythonでPDFにページ数を挿入する(GoogleColab)コードの解説

1.for page_num in range(len(doc)):

PDFドキュメント内の全ページに対してループ(繰り返し処理)を行うためのものです。
len(doc) は、ドキュメント内のページ数を返します。
range(len(doc)) は、0から始まり、ドキュメントのページ数未満の整数を生成します。これにより、各ページに対して順番に処理を実行できます。
for page_num in range(len(doc)): は、生成された各整数(page_num)に対してループを実行します。ここでのpage_numはページのインデックスとして機能し、0から始まります。

カスタマイズする場合:
特定のページのみを対象とするには、range関数の開始値と終了値を調整します。例えば、ページ3から5までの処理を行う場合は、range(2, 5)とします。

2.ページサイズの取得とページ番号の位置の決定

各ページの大きさを取得し、その情報を元にページ番号の位置を決定します。

page_width = page.rect.width と page_height = page.rect.height は、現在のページの幅と高さを取得します。
x_position = page_width - 40 は、ページの右端から40ユニット離れた位置をx座標として設定します。
y_position = page_height - 40 は、ページの下端から40ユニット離れた位置をy座標として設定します。

カスタマイズする場合:
40の値を変更することで、ページ番号の位置を調整できます。例えば、ページの端からより近い位置に設定する場合は、この値を小さくします。

3.page.insert_text((x_position, y_position), text, fontsize=12, color=(0, 0, 0))

計算された位置にページ番号を挿入するためのものです。

page.insert_text は、指定された位置にテキストを挿入するメソッドです。
(x_position, y_position) は、テキストを挿入する座標です。
text は挿入されるテキスト(ここではページ番号)です。
fontsize=12 はテキストのフォントサイズを指定します。
color=(0, 0, 0) はテキストの色を指定します(この場合、黒)。

カスタマイズする場合:
fontsizeの値を変更して、ページ番号のサイズを調整できます。
colorを変更して、異なる色のページ番号を設定できます。例えば、赤色にするには、color=(1, 0, 0)とします。
これらのコード部分は、PDFドキュメント内の各ページに対してページ番号を効果的に挿入するためのものです。カスタマイズを行うことで、異なるPDFフォーマットやスタイルに合わせた設定が可能です。


完全にコピペ可能なコードは以下の通りです。

ここから先は

1,383字

¥ 120

期間限定!PayPayで支払うと抽選でお得

この記事が気に入ったらチップで応援してみませんか?