web-dev-qa-db-fra.com

Conversion d'un PDF de plusieurs pages en plusieurs pages à l'aide d'une seule commande

Je souhaite convertir efficacement des fichiers PDF de plusieurs pages en images d'une seule page.

Je sais déjà comment faire cela une page à la fois avec imagemagick. Par exemple,

convert x.pdf[2] x3.jpg

me donnera la 3ème page du pdf comme image. Donc, si je détermine combien de pages sont dans le pdf en utilisant identifiez alors je peux parcourir et convertir toutes les pages du pdf en images. Cette méthode peut cependant prendre un certain temps. Par exemple, un pdf de 15 pages peut prendre entre 15 et 30 secondes.

Selon les réponses que j'ai vues ailleurs (également sur les forums imagemagick), la commande imagemagick suivante devrait diviser un pdf en plusieurs images.

convert x.pdf x-%0d.jpg

mais tout cela finit par faire est de créer la première page nommée x-0.jpg

Comme alternative, j'ai essayé d'utiliser pdftk avec la capacité de rafale. Le problème auquel j'ai été confronté est que l'éclatement ne fonctionne pas dans tous les cas. Il le fait pour certains pdf et pas pour certains autres.

Toute suggestion sur la façon d'améliorer les choses serait utile.

Mon système d'exploitation est Mac OSX Lion, mais j'ai également besoin que cela fonctionne sur CentOS 6.

29
Moiz Raja

Vous manquez la quantité de chiffres. Utilisation:

convert x.pdf x-%04d.jpg

4 signifie que 4 chiffres seront affichés sur le nombre de pages.

34
beak42

Si vous utilisez Graphicsmagick sur Debian ou ImageMagick sur macOS, vous devrez probablement ajouter ADJOIN à votre commande. Il devrait donc ressembler à

convert x.pdf +adjoin x-%04d.jpg
2
Ric

Ran dans le même problème. Réinstallez Imagemagick pour travailler dans Mountain Lion. Si vous utilisez une infusion simplement

  $brew unlink imagemagick
  $brew install imagemagick
0
archie