python pdfの分割・結合





今回使うpdfの元本


総務省 プログラミング⼈材育成の在り⽅に関する調査研究 報告書

https://www.soumu.go.jp/main_content/000361430.pdf

./file/ganpon.pdfに配置する



使用ライブラリ


PyPDF2

bash
$ pip install PyPDF2


分割


bunkatsu.py
import PyPDF2

merger = PyPDF2.PdfFileMerger()

#6ページ目以降を抜き出す
#6:7とすると6ページと7ページのみ抜き出せる
merger.append('file/ganpon.pdf',
              pages=PyPDF2.pagerange.PageRange('6:'))

merger.write('output/bunkatsu.pdf')
merger.close()


部分結合


bubun.py
from PyPDF2 import PdfFileWriter, PdfFileReader

pdfFileObj = open("file/ganpon.pdf", "rb")
source = PdfFileReader(pdfFileObj, strict=False)

#ページ数
print(source.getNumPages())

output = PdfFileWriter()

#14ページ目と44ページ目を結合する
output.addPage(source.getPage(14))
output.addPage(source.getPage(44))

outputStream = open("output/bubun.pdf", "wb")
output.write(outputStream)
outputStream.close()


結合


merge.py
import PyPDF2

merger = PyPDF2.PdfFileMerger()

#split1.pdfとsplit2.pdfを結合
merger.append('file/split1.pdf')
merger.append('file/split2.pdf')

merger.write('output/merge.pdf')
merger.close()


ホームへ