Se não fosse pelo grande número de fotografias, você poderia usar o TeX / LaTeX para criar o PDF. Então você ainda pode obter o mesmo resultado (pdf de imagens) sem o problema de travamento do conversor. Os limites de arquivo no TeX devem ser apenas o seu sistema (hardware + SO)
Mas eu acho que você poderia usar um script de shell para escrever o TeX:
0)
mkdir convert
pushd convert
PATH=convert:$PATH /* keep everything in one directory for tidyness.*/
1) crie um modelo
1.1) Eu tenho certeza que há uma maneira de fazer este passo de uma só vez, substituindo o nome da imagem pela variável e inserindo ao invés de anexar, e para formatar $ FOO para ter o 0 correto, mas o seguinte é apenas o que eu sei.
1.2) O modelo precisa ser dividido para que o script insira o nome do arquivo
1.3) nano tmplt1 / * ou editor de sua escolha * /
/* 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) No entanto, seus arquivos vão para 0001.miff… 0010.miff… 0100.miff… 2000.miff. Ou seja, um número variável de zeros à esquerda. Solução alternativa: 4 versões de tmplt1: tmplt1-9, tmplt10-99, tmplt100-999, tmplt1000-2000. Tmplt1-9 termina “... width] {000” (isto é, adiciona 3 0's); tmplt10-99 termina "... width] {00" (isto é, adicione 2 0's). 100-999 adiciona 1 zero e 1000-2000 é o mesmo que tmplt1
1.4) próxima parte do template: nano tmplt2 / * OEOYC * /
.miff}
\caption{ /* if you want to caption, otherwise skip to tmplt3.
Same again, script will insert $FOO here */
1.5) próxima parte do template: 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) próximo modelo: nano tmplt4 / * OEOYC * /
}
\end{figure}
2) faça o início do arquivo: nano head / * OEOYC * /
\documentclass{article} /* Or more suitable class */
\usepackage{graphicx}
\begin{document}
/* white space line*/
3) faça o final do arquivo: nano foot / * OEOYC * /
\end {document}
4) faça o script: 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) Torne o script executável: chmod u + x loader
5.1) Depois de testar isso, descobri que toda vez que $ FOO foi inserido, ele foi distribuído em 3 linhas. Eu não conheço nenhuma solução além de entrar no script e excluir manualmente os retornos de carro. Pelo menos é apenas 36 para todas as 2000 fotos
6) script de chamada: loader
7) compile o TeX: pdflatex out.pdf