Если бы не огромное количество фотографий, вы могли бы использовать TeX / LaTeX для создания PDF. Тогда вы все равно можете получить тот же результат (PDF изображений) без проблемы сбоя конвертера. Ограничения на файлы в TeX должны соответствовать вашей системе (аппаратная часть + ОС)
Но я думаю, что вы могли бы использовать скрипт оболочки для написания TeX:
0)
mkdir convert
pushd convert
PATH=convert:$PATH /* keep everything in one directory for tidyness.*/
1) сделать шаблон
1.1) Я уверен, что есть способ сделать этот шаг за один раз, заменив имя изображения на переменную и вставив, а не добавляя, и отформатировав $ FOO, чтобы иметь правильные начальные 0, но вот что я знаю ,
1.2) Шаблон нужно разделить, чтобы скрипт вставил имя файла
1.3) nano tmplt1 / * или редактор на ваш выбор * /
/* white space line */
\begin{figure}[h!]
\includegraphics[width=0.5\linewidth]{
/* at this point the script will insert $FOO, the file name variable */
1.3.1) Однако ваши файлы отправляются в 0001.miff… 0010.miff… 0100.miff… 2000.miff. Т.е. переменное число ведущих нулей. Обходной путь: 4 версии tmplt1: tmplt1-9, tmplt10-99, tmplt100-999, tmplt1000-2000. Tmplt1-9 оканчивается на «... width] {000» (то есть добавляет 3 0); tmplt10-99 оканчивается на «... width] {00» (т.е. добавляет 2 0). 100-999 добавляет 1 ноль, а 1000-2000 совпадает с tmplt1
1.4) следующая часть шаблона: nano tmplt2 / * OEOYC * /
.miff}
\caption{ /* if you want to caption, otherwise skip to tmplt3.
Same again, script will insert $FOO here */
1.5) следующая часть шаблона: nano tmplt3 / * OEOYC * /
}
\label{f: /*if you want them labelled which is actually
a index/reference for the text to refer to, not a caption.
Same again, the script will insert $FOO here. If you do not
want labels, skip to tmplt4*/
1.6) следующий шаблон: nano tmplt4 / * OEOYC * /
}
\end{figure}
2) сделать начало файла: nano head / * OEOYC * /
\documentclass{article} /* Or more suitable class */
\usepackage{graphicx}
\begin{document}
/* white space line*/
3) сделать конец файла: nano foot / * OEOYC * /
\end {document}
4) сделать скрипт: nano loader / * OEOYC * /
#! /bin/bash
cat head > out.pdf
for FOO in {1...9}
do
cat tmplt1-9 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt2 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt3 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt4 >> out.pdf
done
for FOO in {10...99}
do
cat tmplt10-99 >> out.pdf /* this looks like a lot but
is actually copy-paste of first block, just add relevant 0's and 9's */
echo "$FOO" | cat >> out.pdf
cat tmplt2 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt3 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt4 >> out.pdf
done
for FOO in {100...999}
do
cat tmplt100-999 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt2 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt3 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt4 >> out.pdf
done
for FOO in {1000...2000}
do
cat tmplt1000-2000 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt2 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt3 >> out.pdf
echo "$FOO" | cat >> out.pdf
cat tmplt4 >> out.pdf
done
cat foot >> out.pdf
5) сделать исполняемый скрипт: chmod u + x loader
5.1) После тестирования я обнаружил, что каждый раз, когда $ FOO был вставлен, он был распределен по 3 строкам. Я не знаю другого обходного пути, кроме как войти в сценарий и вручную удалить возврат каретки. По крайней мере, это всего 36 для всех 2000 фотографий
6) вызов скрипта: загрузчик
7) скомпилируйте TeX: pdflatex out.pdf