0
3

PythonでPDFドキュメントにページ番号を挿入する方法

Posted at

ページ番号は、多くの種類のファイルで重要な情報であり、読者がドキュメント内をナビゲートする際に便利です。PDFドキュメントを作成する際に、ページ番号を追加することは、コンテンツの整理や参照に特に役立ちます。本記事では、Pythonプログラムを使用して効率的にPDFドキュメントにページ番号を挿入し、美しい構造のPDFドキュメントを作成する方法について説明します。

この方法には、Spire.PDF for Pythonを使用します。公式ウェブサイトからダウンロードするか、PyPIを通じてインストールすることができます:pip install Spire.PDF

Pythonを使用してPDFドキュメントのフッターにページ番号を挿入する

Spire.PDF for Pythonの PdfPageBase.Canvas.DrawString() メソッドを使用すると、PDFドキュメントの任意の場所にカスタムのページ番号を描画することができます。以下にPDFドキュメントのフッターにページ番号を挿入する手順を示します:

  1. PdfDocument クラスのオブジェクトを作成します。
  2. PdfDocument.LoadFromFile() メソッドを使用してPDFドキュメントをロードします。
  3. PdfDocument.PageSettings.Margins プロパティを使用して、ドキュメントの余白を取得します(ページ番号の位置の計算に使用されます)。
  4. ドキュメント内の各ページをループしてページ番号を描画します。
  5. PdfDocument.Pages.get_Item() メソッドを使用して1ページを取得します。
  6. PdfTrueTypeFont クラスと PdfStringFormat クラスのオブジェクトを作成し、ページ番号のテキストの書式と配置方法を設定します。
  7. 位置を計算し、ページ番号のスタイルを設定します。
  8. PdfPageBase.Canvas.DrawString() メソッドを使用してページにページ番号を描画します。
  9. PdfDocument.SaveToFile() メソッドを使用してドキュメントを保存します。

コードの例:

from spire.pdf.common import *
from spire.pdf import *

# PdfDocumentクラスのオブジェクトを作成する
doc = PdfDocument()

# PDFドキュメントをロードする
doc.LoadFromFile("サンプル.pdf")

# ドキュメントのページ余白を取得する
margin = doc.PageSettings.Margins

# ドキュメント内のページを反復処理する
startNumber = 1
for i in range(doc.Pages.Count):
    # ページを取得する
    page = doc.Pages.get_Item(i)

    # ページ番号のためのフォントと文字列フォーマットを作成する
    font = PdfTrueTypeFont("HarmonyOS Sans SC", 12.0, PdfFontStyle.Regular, True)
    format = PdfStringFormat(PdfTextAlignment.Center)

    # ブラシを作成する
    brush = PdfBrushes.get_DarkGray()

    # ページ番号を描画する位置を計算し、ページの下部中央に配置する
    space = font.Height
    x = margin.Left
    width = page.Canvas.ClientSize.Width - margin.Left - margin.Right
    y = page.Canvas.ClientSize.Height - margin.Bottom - space

    # ページ番号のスタイルを設定する
    numberLabel = "ページ {0:d} / {1:d}".format(startNumber, doc.Pages.Count)
    startNumber += 1

    # ページにページ番号を描画する
    page.Canvas.DrawString(numberLabel, font, brush, x + width / 2, y, format)

# 変更されたドキュメントを保存する
doc.SaveToFile("output/PDFページ番号.pdf")
doc.Close()

追加効果:
PythonでPDFドキュメントにページ番号を挿入する

上記の内容では、Spire.PDF for Pythonを使用してPDFドキュメントにページ番号を挿入する方法について説明しました。このAPIは、他にも多くのPDF操作をサポートしていますので、Spire.PDF for Pythonチュートリアルで詳細を確認してください。

技術サポート:Spire.PDFフォーラム

一時ライセンスの申請

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3