PythonでPDFを画像として取り込みたかったためメモ。
pdf2imageを利用して実現しています。pillowに依存にしているようなため、以下でインストール。
pip install pdf2image pip install pillow
また、PDF閲覧にpopplerライブラリを利用するため、「Poppler for Windows」から、poppler-0.68.0_x86.7z(2019/5/31時点最新版)をダウンロードして適当な場所に解凍。
#!/usr/bin/env python # -*- coding: utf-8 -*- # pyinstaller --onefile pdfcrop.py import os import numpy as np import cv2 as cv import pdf2image def main(): # popplerへの環境変数PATHを一時的に付与 ################################### poppler_path = os.path.join(os.getcwd(), "poppler-0.68.0", "bin") os.environ["PATH"] += os.pathsep + poppler_path # pdf2imageを用いてPDFファイルを画像へ変換 ################################ filepath = os.path.abspath(os.path.dirname(__file__)) filepath = os.path.join(filepath, "pdf", "template.pdf") pdfimages = pdf2image.convert_from_path(filepath) # 読み込んだ画像はRGB形式のためBRGへ変換し画面表示 ######################### cvimage = np.asarray(pdfimages[0]) cvimage = cv.cvtColor(cvimage, cv.COLOR_RGB2BGR) cvimage = cv.resize(cvimage, (480, 640)) cv.imshow("pdf2image sample", cvimage) cv.waitKey(-1) if __name__ == '__main__': main()
以上。