【Python】PDF ドキュメントを PyPDF2 ライブラリで回転させる
投稿日:2020-06-14

ナカジ(@cp_nakajun)です。
先の記事で「PDFの回転・結合ツール」を共有しました。
その記事にもソースコードは載せましたが、もう少し再利用のしやすさをと思いまして
それぞれの「機能」ごとに記事にしておこうと思います。
先の記事には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")




