
PythonでPDFを画像に変更するOOPを作成しよう
本コードはwindowsで動作することが前提となっています。
- poppler-0.68.0_x86 をインストールします
- popplerのフォルダをmain.pyと同じ階層に置きます
- main.pyと同じ階層に「pdf」と「img」というフォルダを作成します
- 「pdf」にpngファイルに変換したいファイルを格納します
- 「PDF2PNG.py」を作成し以下のコードを記述します
- main.pyで下記OOPを読み込み完了です。
# main.pyの中身
from PDF2PNG import PDFtoPNG
p2p = PDFtoPNG()
p2p.pdfToPng()# PDF2PNG.pyの中身
import os
from pathlib import Path
from pdf2image import convert_from_path
from glob import glob
class PDFtoPNG:
    def __init__(self):
        # poppler/binを環境変数PATHに追加する
        self.poppler_dir = Path(__file__).parent.absolute() / "poppler/bin"
        os.environ["PATH"] += os.pathsep + str(self.poppler_dir)
        self.image_dir = Path("./img")
        # PDFファイルのパス
        self.pdf_list = glob('./pdf/*.pdf')
    # 画像ファイルを1ページずつ保存
    def pdfToPng(self):
        for num in range(len(self.pdf_list)):
            pdf_path = Path(f'{self.pdf_list[num]}')
            # PDF -> Image に変換(150dpi)
            pages = convert_from_path(str(pdf_path), 150)
            for i, page in enumerate(pages):
                file_name = Path(pdf_path).stem + "_{:02d}".format(i + 1) + ".png"
                image_path = self.image_dir / file_name
                # PNGで保存
                page.save(str(image_path), "PNG")
ぜひ参考にしてください!また!
 
 
  
  
  
 

 
  
  
  
  
  
  
  
 