先日グリーン・ニューディールのブログで最後のほうに参考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変換したいときに上記方法で分割すれば効率よくデータを集めることができるのではないでしょうか?
今後もちょっとした方法を掲載していきたいと思います。