PDFの1ページ目を画像で一括出力
PPDFの1ページ目をJPEG画像で一括出力したときの覚書。
Gemini 3 Flash Previewと対話
環境: FreeBSD 14.3-RELEASE-p8
avifencのバージョン確認。
# avifenc --version
Version: 1.3.0 (dav1d [dec]:1.5.3, aom [enc/dec]:3.13.1)libyuv : available (1903)
1. AVIF変換が失敗する
PDFを開いて画像出力してAVIF変換してみたら下記エラー。
# find . -name "*.jpg" -print0 | xargs -0 -I {} sh -c 'f="{}"; avifenc -q 40 -s 4 -y 420 "$f" ${f%.*}.avif"'
Unsupported color conversion request
Cannot read input file: ./202307.jpg
ImageMagfick(7.1.2-16)をインストールしてAVIF変換してみたら、その画像がWindows 11の画像アプリでは見れるけど、Chromeブラウザで閲覧できない謎現象。
2. PDFから一括で画像出力
問題はJPEG画像にありそうなので、ツールでPDFから画像出力してみる。
pdftoppmコマンドで出来るそうなのでインストール。
# pkg install poppler-utils
試しに変換。
「-f 1」: 開始ページ
「-l 1」: 終了ページ
# pdftoppm -f 1 -l 1 -jpeg "202307.pdf" "202307"
avifencでavif画像変換。
# avifenc -q 40 -s 4 -y 420 202307.jpg 202307.avif
Chromeブラウザでも表示できたので一括変換。
PDFから1ページ目だけJPEG画像出力。
# find . -name "*.pdf" -print0 | xargs -0 -I {} sh -c 'f="{}"; pdftoppm -f 1 -l 1 -jpeg -singlefile "$f" "${f%.*}"'
JPEGからAVIFへ画像変換
# find . -name "*.pdf" -print0 | xargs -0 -I {} sh -c 'f="{}"; pdftoppm -f 1 -l 1 -jpeg -singlefile "$f" "${f%.*}"'