プログラミング的な

Python入門:PDFを分割する

先日グリーン・ニューディールのブログで最後のほうに参考PDFのリンクを貼っておいたのですが、そのPDFをプリントアウトしようとしたときに少々の困難にぶつかりました。

私はいつもセブンイレブンのプリントサービスを使用しているのですが、容量制限が10Mまでとなっていて、参考PDFファイルが10M以上の大きさだったため、プリントできなかったということです。

そこで、どうしようかと思い検索してみるとPDFを簡単に分割できるサイトもあったのですが、せっかくなのでPythonで作ってみようと思い、つくってみました。

PDFを分割する

PyPDF2パッケージをインストールします

  • コマンドラインから操作できるようにしました
  • 複数ページまとめて分割します
import PyPDF2
import sys

#コマンドラインからファイルを開きます
pdf_file = open(sys.argv,'rb')
source = PyPDF2.PdfFileReader(pdf_file, strict=False)

output = PyPDF2.PdfFileWriter()
# 1~20ページまでを取り出します
for i in range(0,21):
    output.addPage(source.getPage(i))

output_pdf = open('output_pdf.pdf', 'wb')
output.write(output_pdf)
output_pdf.close()

これで1ページから20ページまでを分割することができました。
もし、あるページだけ取り出したいのであれば、

output.addPage(source.getPage(0))

この部分のgetPage(~)に数字を入力すれば1ページだけでも可能です。

資料がPDFでしかアップロードされていない場合は結構ありますので、あるページのみCSV変換したいときに上記方法で分割すれば効率よくデータを集めることができるのではないでしょうか?

今後もちょっとした方法を掲載していきたいと思います。