★主婦プロ★Pythonを使ってPDFからJPEGへ変換する

記事
IT・テクノロジー
表題のプログラムを販売しておりますので、良かったら購入をお願い致します。


画像のピカチュウはPCで書きました(-ω-)/
初めまして主婦プロです。

前職で独学でGAS、VBA、Pythonを学んで今は専業主婦をしております。

完全に独学(周りに教えてくれる人いない)でやっとります。
なので
知識の偏りあり、できないことありますが、優しい目で見ていただけると嬉しいです(-ω-)/

実際のプログラム

from pathlib import Path
from time import sleep
from pdf2image import convert_from_path
import glob
import os

def pdf_image(pdf_file,img_path,Poppler_path, fmt='jpeg', dpi=200):
    #pdf_file、img_pathをPathにする
    print(pdf_file+"*.pdf")
    print(glob.glob(pdf_file+"*.pdf"))
    image_dir = Path(img_path)
    Poppler_path=Path(Poppler_path)
    for x in glob.glob(pdf_file+"*.pdf"):
        pdf_path = Path(x)
        print(pdf_path)
        # PDFをImage に変換(pdf2imageの関数)
        pages = convert_from_path(pdf_path, dpi,poppler_path=Poppler_path)
        # 画像ファイルを1ページずつ保存
        for i, page in enumerate(pages):
            file_name = "{}_{:02d}.{}".format(pdf_path.stem,i+1,fmt)
            image_path = image_dir / file_name
            page.save(image_path, fmt)
        try:
            os.remove(pdf_path)
        except:
            print('ERROR')

def del_pdf(pdf_path):
    for x in glob.glob(pdf_path+"*.pdf"):
        try:
            os.remove(x)
        except:
            print('ERROR')
# PDFファイルのパス
path = os.getcwd()
pdf_path = path+"/pdf_file/"
img_path=path+"/image/"
Poppler_path=Path(path+"./poppler-0.68.0/bin")
pdf_image(pdf_file=pdf_path,img_path=img_path,Poppler_path=Poppler_path, fmt='jpeg', dpi=200)
sleep(2)
del_pdf(pdf_path)

内容

Pythonファイルのある場所を起点に必要なパスを取得
フォルダの中のPDFファイルをすべてJPEGに変換
変換したJPEGはJPEGフォルダに格納
PDFを消す
です。

細かな事は参考サイトをご確認ください。
https://gammasoft.jp/blog/convert-pdf-to-image-by-python/
https://qiita.com/Gyutan/items/5e62420cc8f6bb106bed


私がはまったポイント①

pdf2imageは「Poppler」というフリーのPDFコマンドラインツールを背後で用います。そのため、Popplerをダウンロードしておく必要があります。
↑ここです。

結論から言うと、Popplerはウィンドウズ版とMac版があるので
ダウンロード注意という事でした!

参考サイトなどはなぜかすべてMac版のダウンロード。。
ダウンロードするときにはお気を付けて、、、私はこれで三日間のナイトメア

私がはまったポイント②

変換したPDFを削除できなかった
ここは恐らく、PCの問題でした。
まだPythonがPDFをさわっているよ的なエラーがでていたのですが
解決方法は、、HDD→SSD換装で解決しました 笑
ほんとかー的な感じなのですが、何度試しても問題なかったので

私のPC以上に低スペックPCはPythonなどのスピードについてこれないのかなと。。

ちなみに私のPCスペック
CPU Intel(R) Celeron(R) CPU N2840 @ 2.16GHz 2.16 GHz 

表題のプログラムを販売しておりますので、良かったら購入をお願い致します。
<a class="coconala-widget" href="https://coconala.com/services/2350085" data-service_id="2350085" data-width="468" data-comment="0" data-invite="0" data-user_id="3323584">PDFをJPEGに変換するプログラムを販売します 設定簡単、自動化もできます★※</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://coconala.com/js/coconala_widget.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','coconala-wjs');</script>

画像のピカチュウはPCで書きました(-ω-)/
初めまして主婦プロです。

前職で独学でGAS、VBA、Pythonを学んで今は専業主婦をしております。

前職のときから完全に独学(周りに教えてくれる人いない)でやっとります。
なので
知識の偏りあり、できないことありますが、優しい目で見ていただけると嬉しいです(-ω-)/
実際のプログラム
from pathlib import Path
from time import sleep
from pdf2image import convert_from_path
import glob
import os

def pdf_image(pdf_file,img_path,Poppler_path, fmt='jpeg', dpi=200):
    #pdf_file、img_pathをPathにする
    print(pdf_file+"*.pdf")
    print(glob.glob(pdf_file+"*.pdf"))
    image_dir = Path(img_path)
    Poppler_path=Path(Poppler_path)
    for x in glob.glob(pdf_file+"*.pdf"):
        pdf_path = Path(x)
        print(pdf_path)
        # PDFをImage に変換(pdf2imageの関数)
        pages = convert_from_path(pdf_path, dpi,poppler_path=Poppler_path)
        # 画像ファイルを1ページずつ保存
        for i, page in enumerate(pages):
            file_name = "{}_{:02d}.{}".format(pdf_path.stem,i+1,fmt)
            image_path = image_dir / file_name
            page.save(image_path, fmt)
        try:
            os.remove(pdf_path)
        except:
            print('ERROR')

def del_pdf(pdf_path):
    for x in glob.glob(pdf_path+"*.pdf"):
        try:
            os.remove(x)
        except:
            print('ERROR')
# PDFファイルのパス
path = os.getcwd()
pdf_path = path+"/pdf_file/"
img_path=path+"/image/"
Poppler_path=Path(path+"./poppler-0.68.0/bin")
pdf_image(pdf_file=pdf_path,img_path=img_path,Poppler_path=Poppler_path, fmt='jpeg', dpi=200)
sleep(2)
del_pdf(pdf_path)
内容
Pythonファイルのある場所を起点に必要なパスを取得
フォルダの中のPDFファイルをすべてJPEGに変換
変換したJPEGはJPEGフォルダに格納
PDFを消す
です。

細かな事は参考サイトをご確認ください。
https://gammasoft.jp/blog/convert-pdf-to-image-by-python/
https://qiita.com/Gyutan/items/5e62420cc8f6bb106bed


私がはまったポイント①
pdf2imageは「Poppler」というフリーのPDFコマンドラインツールを背後で用います。そのため、Popplerをダウンロードしておく必要があります。
↑ここです。

結論から言うと、Popplerはウィンドウズ版とMac版があるので
ダウンロード注意という事でした!

参考サイトなどはなぜかすべてMac版のダウンロード。。
ダウンロードするときにはお気を付けて、、、私はこれで三日間のナイトメア

私がはまったポイント②
変換したPDFを削除できなかった
ここは恐らく、PCの問題でした。
まだPythonがPDFをさわっているよ的なエラーがでていたのですが
解決方法は、、HDD→SSD換装で解決しました 笑
ほんとかー的な感じなのですが、何度試しても問題なかったので

私のPC以上に低スペックPCはPythonなどのスピードについてこれないのかなと。。

ちなみに私のPCスペック
CPU Intel(R) Celeron(R) CPU N2840 @ 2.16GHz 2.16 GHz
  ↑もはや化石
メモリ 8.00 GB (7.89 GB 使用可能)  
 ↑自分で増設
ハードディスク SSD128G
 ↑自分でHDD(500G)から換装

早くPC買わせてくれ!旦那( ;∀;)
PCは新品じゃなくてよいのだよ。

※うちは旦那がPCの事はすっからかんなのですが、なぜか新品にこだわる。。。。(´;ω;`)

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す