Я использую следующий код для преобразования книг swf в pdf:
swftopdf () {
if [ ! -f "$1.pdf" ]; then
wget "http://content.yudu.com/android/dJcuwVV99lEgqWoc/content/$1.high";
mimetype=$(file $1.high --mime-type);
if [ "$mimetype" == "$1.high: application/x-shockwave-flash" ]; then
swfrender -Y 2500 "$1.high" -o "$1.png"; convert "$1.png" "$1.pdf";
else
convert "$1.high[x2500]" "$1.pdf";
fi;
rm -rf $1.high; rm -rf $1.png;
fi;
};
for i in {1..244}; do
while [ ! -f "$i.pdf" ]; do
swftopdf $i;
done;
done;
filelist=$(ls|sort -n);
pdftk $filelist cat output '/home/shane/Desktop/Complete Ebooks/Secondary Level/Leaving Cert/Folens/Othello.pdf' compress; rm -rf *.pdf
В редких случаях файл .high будет иметь формат jpg, а не swf, поэтому существует сегмент else convert «$i1.high[x2500]». Однако изначально у меня там не было написано [x2500].
Итак, мне интересно, вместо того, чтобы удалять все книги, которые я уже преобразовал,
есть ли способ выяснить, имеет ли какая-либо из страниц высоту, которая отличается от 2500 в большом pdf (файлы .high, .png и отдельные .pdf уже удалены), поэтому я могу затем удалить и преобразовать эту книгу, чтобы страницы jpg тоже имели высоту 2500? Спасибо
Кроме того, если кто-нибудь знает менее запутанный способ сделать это, я был бы признателен, если бы они сказали мне это
Если вы нужен пример одной страницы в формате .swf и другой в формате .jpg для пояснительных целей:
http://content.yudu.com/android/dJcuwVV99lEgqWoc/content/1.high — swf
http://content.yudu.com/android/dJcuwVV99lEgqWoc/content/2.high — jpg