Docsplit работает с консоли, а не с самого Rails

Я пытаюсь выяснить странную проблему с Docsplit. У меня есть приложение Rails 2.3.14, где пользователи могут загружать файлы PPT /PDF, и система должна извлекать изображения обложек с помощью Docsplit.

У меня есть обратный вызов after_save в модель с этой строкой:

Docsplit.extract_images(self.pdf.path, :size => '370x540', :density => '72', :format => :png, :pages => 1, :output => pdf_dir_path)

Эта строка генерирует эту ошибку:

**** Page has no /MediaBox attribute. Using the current page size.
Error: /stackunderflow in --run--
Operand stack:
   --dict:8/8(L)--   612.0   792.0   3
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1846   1   3   %oparray_pop   1845   1   3   %oparray_pop   1829   1   3   %oparray_pop   --nostringval--   --nostringval--   2   1   1   --nostringval--   %for_pos_int_continue   --nostringval--   --nostringval--
Dictionary stack:
   --dict:1157/1684(ro)(G)--   --dict:1/20(G)--   --dict:76/200(L)--   --dict:76/200(L)--   --dict:106/127(ro)(G)--   --dict:285/300(ro)(G)--   --dict:21/25(L)--   --dict:2/6(L)--
Current allocation mode is local
GPL Ghostscript 8.70: Unrecoverable error, exit code 1
gm convert: Postscript delegate failed (/var/www/rails/application/releases/20130828151914/public/system/pdfs/6/original/news-scientifica.pdf).

Я знаю, что это ошибка, связанная с Ghostscript, но если я выполню этот точный оператор вручную из консоли, все будет работать нормально. Итак, что может быть?

1 ответ

Код выхода 1 означает, что команда не выполнена полностью, она должна вернуть 0, я предполагаю, что система перестала отвечать перед завершением команды, убедитесь, что процесс синхронизирован и что процесс B, например, ожидает завершения процесса A чтобы начать работу.

Однако, с моим опытом использования Ghostscript, я думаю, что версия 9.06 является более стабильной, чем ее последние версии, и добавление параметра -dUseTrimBox не повредит.

это то, что я предлагаю, надеюсь, это поможет.

Другие вопросы по тегам