ImageMagick: convertir les arrêts après certaines pages

16

J'essaye de convertir quelques jpgs en un seul pdf en utilisant convert.

convertir * .jpg nouveau.pdf

Mais la conversion s'arrête après 18 pages. La sortie est alors correcte mais pas terminée.

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.
...

J'ai essayé quelques réglages de limite mais sans succès. Si j'essaye d'autres jpgs alors c'est le même résultat.

Des idées? J'ai beaucoup de mémoire libre.

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
la source
Il semble qu'une version plus récente soit disponible, vous pouvez donc simplement consulter le site et télécharger et mettre à jour si applicable. S'il s'agit d'un bug, il peut être corrigé dans la nouvelle version. Quelque chose à considérer peut-être au moins. imagemagick.org/script/download.php
Pimp Juice IT
2
Consultez le -limitcommutateur .... imagemagick.org/script/command-line-options.php#limit Vous pouvez probablement -limit memory <#>avec ce commutateur au cas où votre machine manquerait de mémoire pour traiter tous les fichiers. Sinon, essayez de fusionner moins que vous ne le faites dans des lots plus petits et voyez si cela fait une différence. Donc, s'il y en a une centaine, copiez 25 dans un dossier de test et voyez si la même chose se produit avec 25 par exemple. Vous pouvez peut-être tous les fusionner en plus petits morceaux puis à la fin fusionner les documents PDF qui ont été créés ensemble. J'ai toujours utilisé PDFTK pour les fusions de fichiers PDF.
Pimp Juice IT

Réponses:

24

Essayez d'ajouter l'option suivante pour augmenter le cache

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

Si cela ne fonctionne pas, définissez les limites dans le fichier de configuration de l'image magique/etc/ImageMagick-6/policy.xml

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

à

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

et réessaye

Philippe Gachoud
la source
Le changement en policy.xmla le même effet que les options de ligne de commande mais est permanent. C'est donc presque toujours une bonne idée, car c'est "écrire et oublier".
tanius
5
@tanius a modifié le xml, mais pas les options CLI. Ubuntu 18.10, ImageMagick 6.9.10-8, avec ces images: github.com/cirosantilli/media/blob/master/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Identique à Ciro, cli ne fonctionnait pas, xml fonctionnait. Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 sur Debian 9.
Luis Antolín Cano
github.com/ImageMagick/ImageMagick/issues/… indique que la politique de sécurité dans le XML remplacera les options de ligne de commande.
jamadagni