Преобразование PDF в изображения с использованием Ruby / JRuby - PullRequest
1 голос
/ 13 мая 2009

Я ищу простой способ создания превью для меток, сгенерированных в формате PDF. Было бы здорово, если бы я мог преобразовать эти PDF-файлы в изображения и показать их пользователю перед фактической печатью / загрузкой.

Приложение в настоящее время работает в среде Jruby on rails, но вполне возможно, что мы переключимся на два приложения, одно из которых работает в native ruby ​​(основное приложение), а другое в jruby (средство pdf). Таким образом, выбор не ограничен одним из этих миров.

Пока я вижу следующие варианты:

  • RMagick: кажется зрелым, ImageMagick в качестве бэкэнда, возможно, не работает на jruby
  • RMagick4J: поскольку RMagick, но доступный для JRuby, выглядит неактивным, поддерживает только подмножество.
  • Jmagick: Интерфейс JNI для Java, работает только в JRuby

Сам процесс генерации PDF всегда будет в среде Jruby, поэтому JMagick звучит как хорошая идея (ожидайте возможных хлопот с JNI). С другой стороны, было бы здорово, если бы решение не ограничивалось одной платформой.

Есть идеи? Предложения? Плохой опыт? Возможно, совершенно другая идея?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 18 января 2013

Вы на Linux?

sudo apt-get install imagemagick

В вашем рубиновом коде сделайте

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

-плотность - это DPI конечного изображения

-colorspace исправляет проблемы, которые у меня были с отвлекающимися цветами

1 голос
/ 04 июня 2009

Я использую IText для создания / манипуляции PDF. Это Java-баночка, но звонить с JRuby очень просто. Если вы объедините его с проектом FlyingSaucer , вы также сможете создавать изображения. Оба очень просты в использовании.

1 голос
/ 20 мая 2009

Вот очень тонкая чистая Ruby-оболочка для ImageMagick. Вы можете легко отправить любые команды в ImageMagick с помощью некоторых методов модуля:

www.misuse.org / наука / 2008/01/30 / mojomagick-рубинового изображений библиотека-для-ImageMagick /

Он также должен хорошо работать на jruby, поскольку в нем нет магии DLL или чего-то еще.

...