PDFファイルを受け取ったりダウンロードしたりした際、一部のページが横向きや上下逆など、正しくない向きで表示されることがあります。そのような場合、PDFページを回転させることで、読みやすく適切な表示に修正できます。
本記事では、Spire.PDF for Python を使用して、PDFページをプログラムから回転する方法を紹介します。
Spire.PDF for Python のインストール
この機能を使用するには、Spire.PDF for Python と plum-dispatch v1.7.4 が必要です。Windows 環境では、以下の pip コマンドで簡単にインストールできます。
pip install Spire.PDF
または、Spire.PDF for Pythonのダウンロードページから直接ダウンロードして、プロジェクトに追加することもできます。
PythonでPDF内の特定ページを回転する
PDFページの回転は 90 度単位で行われ、0/90/180/270 度を指定できます。以下は、PDF内の特定ページを回転する手順です。
- PdfDocument オブジェクトを作成します。
- PdfDocument.LoadFromFile() メソッドを使用してPDFファイルを読み込みます。
- PdfDocument.Pages[pageIndex] プロパティを使用して、対象となるページを取得します。
- PdfPageBase.Rotation.value プロパティを使用して、現在の回転角度を取得します。
- 取得した回転角度に、希望する回転角度を加算します。
- PdfPageBase.Rotation プロパティを使用して、新しい回転角度を設定します。
- PdfDocument.SaveToFile() メソッドを使用して結果を保存します。
Pythonコード:PDF内の特定ページを回転
from spire.pdf.common import *
from spire.pdf import *
# PdfDocument オブジェクトを作成します
pdf = PdfDocument()
# PDFファイルを読み込みます
pdf.LoadFromFile("Sample.pdf")
# 1ページ目を取得します
page = doc.Pages.get_Item(0)
# 現在の回転角度を取得します
rotation = int(page.Rotation.value)
# 元の角度を基準に、時計回りに180度回転します
rotation += int(PdfPageRotateAngle.RotateAngle180.value)
if rotation >= 4:
rotation -= 4
# PdfPageRotateAngle は 0~3 の循環する列挙型(0/90/180/270度)のため、
# 値が範囲を超えた場合は回り込み処理を行います
page.Rotation = PdfPageRotateAngle(rotation)
# 結果を保存します
pdf.SaveToFile("RotatePDFPage.pdf")
pdf.Close()
以下は、処理後のPDFファイルのプレビューです。

PythonでPDF内のすべてのページを回転する
Spire.PDF for Python を使用すると、PDFファイル内のすべてのページをループ処理し、一括で回転させることもできます。手順は以下のとおりです。
- PdfDocument オブジェクトを作成します。
- PdfDocument.LoadFromFile() メソッドを使用してPDFファイルを読み込みます。
- ドキュメント内の各ページを順に処理します。
- PdfPageBase.Rotation.value プロパティを使用して、現在の回転角度を取得します。
- 取得した回転角度に、希望する回転角度を加算します。
- PdfPageBase.Rotation プロパティを使用して、新しい回転角度を設定します。
- PdfDocument.SaveToFile() メソッドを使用して結果を保存します。
Pythonコード:PDF内のすべてのページを回転
from spire.pdf.common import *
from spire.pdf import *
# PdfDocument オブジェクトを作成します
pdf = PdfDocument()
# PDFファイルを読み込みます
pdf.LoadFromFile("Sample.pdf")
# すべてのページをループ処理します
for i in range(pdf.Pages.Count):
page = pdf.Pages.get_Item(i)
# 現在の回転角度を取得します
rotation = int(page.Rotation.value)
# 元の角度を基準に、時計回りに180度回転します
rotation += int(PdfPageRotateAngle.RotateAngle180.value)
rotation += int(PdfPageRotateAngle.RotateAngle180.value)
if rotation >= 4:
rotation -= 4
page.Rotation = PdfPageRotateAngle(rotation)
# 結果を保存します
pdf.SaveToFile("RotatePDF.pdf")
pdf.Close()
一時ライセンスの申請について
生成されたドキュメントから評価版のメッセージを削除したい場合や、機能制限を解除したい場合は、30日間の試用ライセンス を申請できます。






