PDFファイルを受け取ったりダウンロードしたりした際、一部のページが横向きや上下逆など、正しくない向きで表示されることがあります。そのような場合、PDFページを回転させることで、読みやすく適切な表示に修正できます。 本記事では、Spire.PDF for Python を使用して、PDFページをプログラムから回転する方法を紹介します。 PDF内の特定ページを回転する方法 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日間の試用ライセンス を申請できます。