2009-05-13 7 views
1

Je cherche un moyen facile de générer des aperçus pour les étiquettes générées en tant que pdfs. Ce serait génial si je pouvais convertir ces fichiers PDF en images et les montrer à l'utilisateur avant l'impression/téléchargement. L'application fonctionne actuellement dans un environnement Jruby on rails, mais il est tout à fait possible que nous passions à deux applications, l'une fonctionnant en ruby ​​natif (l'application principale) et l'autre en jruby (l'installation pdf). Donc le choix n'est pas vraiment limité à l'un de ces mondes.Conversion de pdf en images en utilisant Ruby/JRuby

Jusqu'à présent, je vois les options suivantes:

  • RMagick: semble mature, ImageMagick comme back-end, probablement ne fonctionne pas sur JRuby
  • RMagick4J: comme RMagick mais disponible pour JRuby, semble inactif, ne supporte que sous-ensemble .
  • Jmagick: JNI Interface pour Java, ne fonctionne que dans JRuby

La génération de PDF lui-même sera toujours dans un environnement JRuby, donc semble JMagick une bonne idée (attendez-vous les tracas possible JNI). D'un autre côté, il serait bon que la solution ne soit pas limitée à une seule plate-forme.

Des idées? Suggestions? Mauvaises expériences? Peut-être une idée complètement différente?

Merci!

+0

Jmagick semble être lié à une version fixe, plutôt ancienne: /. – reto

+0

Sujet similaire http://stackoverflow.com/questions/653380/converting-a-pdf-to-png – Tarscher

+0

Merci pour le pointeur! Ma question concerne également la meilleure façon de l'intégrer. Mais, ça va probablement être converti/Imagemagick .... mais peut-être que quelqu'un d'autre a une meilleure idée. – reto

Répondre

1

Voici un emballage Ruby pur très fin pour ImageMagick. Vous pouvez facilement envoyer tout les commandes que vous voulez ImageMagick via certaines méthodes du module:

www.misuse.org/science/2008/01/30/mojomagick-ruby-image-library-for-imagemagick/

Il devrait fonctionner correctement sur jruby, car il n'y a pas de magie DLL ou quoi que ce soit sous le capot.

1

J'utilise IText pour la génération/manipulation de PDF. C'est un jar Java, mais il est très facile d'appeler JRuby. Si vous le combinez avec le projet FlyingSaucer, vous pouvez également générer des images. Les deux sont très faciles à utiliser.

2

Etes-vous sur Linux?

sudo apt-get install imagemagick 

Dans votre code Ruby ne

system "convert -colorspace rgb -density 150 ../path/whatever.pdf ../path/whatever.jpg" 

-density est le DPI de l'image finale

-colorspace résout les problèmes que j'ai eu avec les couleurs à la recherche de

+0

Nous avons fini par utiliser convert il ya longtemps :). – reto

+1

Cool! Est-ce que je gagne un prix pour deviner votre solution correctement? – InternalFX

+0

ici, prenez un upvote;) – reto

Questions connexes