PDFファイルをpythonで扱いたい【3時間目:ページを回転する】

PythonでPDFファイルを回転する

PDFファイルって普通に回転できるんじゃない?って思割れかもしれないですがその通りです。

実際pdfファイルを回転する作業は既存のソフトで簡単に回転することはできると思います。こちらを記事にするのもどうかと思いましたが、おもしろいポイントはそれだけ取ってくることができるようになるということです。(まるで手を伸ばしてその部分だけを取るように。)

1、2時間目ではオブジェクトの流れをメインに解説してきました。

ポイントは「PdfFileWriter」に好きなものを詰め込めるという点でしょう。ページを回転するのはたしかに、簡単にできますが、それよりも好きなものを詰め込むことができるという点にたのしみを見出すことだと思っています。

それではコードを解説していきます。

import PyPDF2, os
pdf_file_obj = open('meetingminutes.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file_obj)
page = pdf_reader.getPage(0)
page.rotateCounterClockwise(90)

pdf_writer = PyPDF2.PdfFileWriter()
pdf_writer.addPage(page)

pdf_output_file = open('rotatePage.pdf', 'wb')
pdf_writer.write(pdf_output_file)
pdf_output_file.close()
pdf_file_obj.close()

プログラムの解説

ページを回転するメソッドは2つです。

  1. rotateCounterClockwise(90) → 時計回り回転
  2. rotateClockwise()→半時計回り回転

引数には90°単位の数字を渡します。

ポイントは4,5行目のgetPage()で1ページ目を取得し、それを回転させていることです。そして7行目でPdfFileWriterオブジェクト生成し、それに回転したページを追加しています。

そして10行目で新たにファイルを作成。PdfFileWriterオブジェクトをファイルに書き込みます。

ページを回転させることにあまり驚きはありませんが、やはり、好きなものをPdfFileWriterオブジェクトに詰めることができるというのはなかなかおもしろいです。

次は「PDFファイルをpythonで扱いたい【4時間目:ページのミキシング】」です