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 не повредит.
это то, что я предлагаю, надеюсь, это поможет.