【Python】PDF ドキュメントを PyPDF2 ライブラリで回転させる

投稿日:2020-06-14



ナカジ(@cp_nakajun)です。

先の記事で「PDFの回転・結合ツール」を共有しました。

【Windows】PythonでPDFの回転と結合ができるツールを作ってみたのでソースとEXEを共有します。



その記事にもソースコードは載せましたが、もう少し再利用のしやすさをと思いまして

それぞれの「機能」ごとに記事にしておこうと思います。

先の記事にはWindowsの実行ファイル(EXE)がダウンロードできますが

本記事はソースコードのみを残します。

実行にはpythonの環境構築が必要です。

PyPDF2 で PDFを回転する

利用環境:python3

ソースを見ればわかりますが、ライブラリは以下をインポートします。

  • PyPDF2:PDF回転
  • os:実行Dirを移動
  • datetime:出力ファイル名に日付と時刻を使う

ソースコード

一応、GitHubにも置いてます。
PDF-Rotate.py

import os
import PyPDF2
import datetime

############# 実行DirをPythonプログラムファイルのある場所に移動 #############
os.chdir(os.path.dirname(os.path.abspath(__file__))) #pythonの実行Dirを移動する

############# 出力ファイル名を時間で指定
date = datetime.datetime.now()
OutputName = "Rotate-" + str(date.year) + str(date.month) + str(date.day) + str(date.hour) + str(date.minute) + str(date.second) + ".pdf"


############# コンソール表示
print("")
print("========== PDFファイルを回転させます ==========")
print("")
PDF = input("ファイルを選択(ファイルパス) → ") #入力ファイル名
angle = int(input("回転する角度を入力してください(90,180,270) → ")) #回転角度

############# メインプログラム #############
File = open(PDF, "rb")
Reader = PyPDF2.PdfFileReader(File)
Writer = PyPDF2.PdfFileWriter()
for page in range(Reader.numPages):
    obj = Reader.getPage(page)
    obj.rotateClockwise(angle)
    Writer.addPage(obj)

Output = open(OutputName, "wb")
Writer.write(Output)
Output.close()
File.close()

print("Finish")

サポート募集中

この記事はお役に立てましたか。
よかったら、コーヒー ☕ をご馳走いただけたら励みになります。



Python学習にオススメ




独学で身につけるPython〜基礎編〜【業務効率化・自動化で残業を無くそう!】icon

【完全初心者向け】絶対に挫折させないPython入門講座icon

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2022年最新版】icon






シゴトがはかどる Python自動処理の教科書

PythonでExcel、メール、Webを自動化する本


おすすめのクリエイティブ・コーディング関連カテゴリー

クリエイティブコーディング系 講座


ウェブツール

機能はシンプルなものですが、p5.jsやTone.jsで描画したり音が出たりするので遊んでみてください。
・【Midi Number Tools】:MIDIナンバーから音名と周波数を判定します
・【Delay Time Calculator】:テンポに応じた音符の長さを判定します