Вопрос

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

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

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

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

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

Есть какие-нибудь идеи?Предложения?Плохой опыт?Может быть, совершенно другая идея?

Спасибо!

Это было полезно?

Решение

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

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

Это должно отлично работать и на jruby, поскольку там нет никакой DLL magic или чего-то еще под капотом.

Другие советы

Вы используете Linux?

sudo apt-get install imagemagick

В вашем коде ruby сделайте

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

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

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

Я использую iText - Текст для генерации / обработки PDF-файлов.Это Java-jar, но его действительно легко вызвать из JRuby.Если вы объедините это с Летающий инструктор проект вы также можете создавать изображения.Оба они очень просты в использовании.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top