キャッシュレス・消費者還元事業事務局審査を通過した加盟店一覧をPDFをCSV変換3

www.meti.go.jp

セルが「縮小して全体を表示」に変更されたのかセル内に縮小表示されたのでtabulaで抽出できるようになりました

github.com

tabula-1.0.3-jar-with-dependencies.jarをダウンロード

-Xmx1G オプションでメモリを増やせば動きました

java -jar -Xmx1G tabula-1.0.3-jar-with-dependencies.jar -o list.tsv -l -p 3-6360 kameiten_touroku_list.pdf

全ページではエラーになるため200ページごとに分割して実行

import shlex
import subprocess

start_page = 3
end_page = 6360

previ = start_page

while True:

    i = previ + 200

    i -= i % 200

    i = i if i < end_page else end_page

    command = f'java -jar tabula-1.0.3-jar-with-dependencies.jar -f TSV -o {previ:0}-{i:0}.tsv -l -p {previ:0}-{i:0} kameiten_touroku_list.pdf'

    p = subprocess.Popen(shlex.split(command))

    p.wait()

    if i < end_page:
        previ = i + 1
    else:
        break