#!/bin/bash # = pdf ファイルから avi ファイルを作成するスクリプト # * 作成者: 藤林 凜 # * 履歴: 2020/02/21 変数が使えるところが残っていたのでそれを使用 # 2018/08/14 新規作成 # * # * メモ: 変数 infile, outfile, fps は適宜変更すること # * 参考: https://www.gfd-dennou.org/arch/yot/computer/anim/ infile='./dcl.pdf' outfile='./dcl.avi' pdfdir='./figs-pdf' pngdir='./figs-png' fps='5' # フレームレート (1 秒間に使用する画像の枚数) を指定 page=`pdfinfo $infile | grep 'Pages' | cut -d ':' -f 2` # pdf ファイルの全ページ数を変数に代入 mkdir $pdfdir $pngdir # 分割された pdf ファイルと png ファイルを格納するためのディレクトリ作成 i=1 while [ $i -le $page ] do if [ $i -le 9 ] then pdftk $infile cat 00000"$i" output "$pdfdir"/dcl_00000"$i".pdf pstoimg -density 144 -flip r270 "$pdfdir"/dcl_00000"$i".pdf -out "$pngdir"/dcl_00000"$i".png elif [ $i -ge 10 ] && [ $i -le 99 ] then pdftk $infile cat 0000"$i" output "$pdfdir"/dcl_0000"$i".pdf pstoimg -density 144 -flip r270 "$pdfdir"/dcl_0000"$i".pdf -out "$pngdir"/dcl_0000"$i".png elif [ $i -ge 100 ] && [ $i -le 999 ] then pdftk $infile cat 000"$i" output "$pdfdir"/dcl_000"$i".pdf pstoimg -density 144 -flip r270 "$pdfdir"/dcl_000"$i".pdf -out "$pngdir"/dcl_000"$i".png elif [ $i -ge 1000 ] && [ $i -le 9999 ] then pdftk $infile cat 00"$i" output "$pdfdir"/dcl_00"$i".pdf pstoimg -density 144 -flip r270 "$pdfdir"/dcl_00"$i".pdf -out "$pngdir"/dcl_00"$i".png elif [ $i -ge 10000 ] && [ $i -le 99999 ] then pdftk $infile cat 0"$i" output "$pdfdir"/dcl_0"$i".pdf pstoimg -density 144 -flip r270 "$pdfdir"/dcl_0"$i".pdf -out "$pngdir"/dcl_0"$i".png elif [ $i -ge 100000 ] && [ $i -le 999999 ] then pdftk $infile cat "$i" output "$pdfdir"/dcl_"$i".pdf pstoimg -density 144 -flip r270 "$pdfdir"/dcl_"$i".pdf -out "$pngdir"/dcl_"$i".png fi i=`expr $i + 1` done ffmpeg -r $fps -i "$pngdir"/dcl_%06d.png -qscale 0 $outfile