0

我正在尝试找出 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 相关的错误,但如果我从控制台手动执行该确切语句,一切正常。那么,可能是什么?

4

1 回答 1

0

退出代码1表示命令没有完全执行,它必须返回0,我的猜测是系统在完成命令之前已经停止响应,确保进程同步并且进程B例如等待进程A完成为了开始操作。

然而,根据我使用 Ghostscript 的经验,我认为 9.06 版比最近的版本更稳定,而且添加参数 -dUseTrimBox 也不会有害。

这是我的建议希望它有所帮助。

于 2013-09-05T10:43:57.940 回答