ImageMagick: converter encerra após algumas páginas

15

Eu tento converter alguns jpgs em um único pdf usando convert.

converter * .jpg new.pdf

Mas o convert é encerrado após 18 páginas. A saída está ok, mas não concluída.

convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `094708.JPG' @ error/cache.c/OpenPixelCache/3945.
...

Eu tentei algumas configurações de limite, mas sem sucesso. Se eu tentar outros jpgs, é o mesmo resultado.

Alguma ideia? Tenho muita memória livre.

Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 
...
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
chris01
fonte
Parece que uma versão mais recente está disponível; portanto, você pode apenas verificar o site, fazer o download e atualizar, se aplicável. Se for um bug, pode ser corrigido na versão mais recente. Algo a considerar, talvez pelo menos. imagemagick.org/script/download.php
Suco de cafetão IT
2
Confira a -limitopção .... imagemagick.org/script/command-line-options.php#limit Você provavelmente pode -limit memory <#>usar essa opção caso sua máquina esteja com memória insuficiente para processar todos os arquivos. Caso contrário, tente mesclar menos do que você está em lotes menores e veja se isso faz alguma diferença. Portanto, se houver cem, copie 25 para uma pasta de teste e veja se o mesmo acontece com 25, por exemplo. Talvez você possa mesclar todos eles em partes menores e, no final, mesclar os documentos PDF que foram criados juntos. Eu sempre usei PDFTK para mesclas de arquivos PDF.
Pimp Juice IT

Respostas:

24

Tente adicionar a seguinte opção para aumentar o cache

convert -limit memory 1GiB -limit disk 1GiB *.jpg new.pdf

Se não funcionar, defina os limites no arquivo de configuração mágica da imagem/etc/ImageMagick-6/policy.xml

<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="disk" value="1GiB"/>

para

<policy domain="resource" name="memory" value="3GB"/>
<policy domain="resource" name="disk" value="2GB"/>

e tente novamente

Philippe Gachoud
fonte
A alteração para policy.xmltem o mesmo efeito que as opções da linha de comando, mas é permanente. Portanto, é quase sempre uma boa ideia, porque é "escreva e esqueça".
tanius
5
O @tanius editar o xml funcionou, mas as opções da CLI não. Ubuntu 18.10, ImageMagick 6.9.10-8, com estas imagens: github.com/cirosantilli/media/blob/master/…
Ciro Santilli
Igual aos relatórios de Ciro, cli não funcionou, xml funcionou. Versão: ImageMagick 6.9.7-4 Q16 x86_64 20170114 no Debian 9.
Luis Antolín Cano
O github.com/ImageMagick/ImageMagick/issues/… diz que a política de segurança no XML substituirá as opções da linha de comando.
Jamadagni