【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")