您好,我想对上传的文档(pdf)的每一页进行屏幕截图
所以我昨天安装了 Docsplit gem (http://documentcloud.github.com/docsplit/)(以及所有依赖项),我想快速测试一下,所以我尝试了您文档的示例之一(在命令行)
docsplit images example.pdf
这是输出的错误:
execvp failed, errno = 2 (No such file or directory) gm convert: "gs" "-q" "-dBATCH" "-dMaxBitmap=50000000" "-dNOPAUSE" "-sDEVICE=ppmraw" "-dTextAlphaBits=4" "-dGraphicsAlphaBits=4" "-r150x150" "-dFirstPage=1" "-dLastPage=1" "-sOutputFile=/var/folders/um/umOJP4yeEoG4UihNlcD7ME+++TM/-Tmp-/d20110325-6084-j35i1w/gmrpht13" "--" "/var/folders/um/umOJP4yeEoG4UihNlcD7ME+++TM/-Tmp-/d20110325-6084-j35i1w/gm04N0rO" "-c" "quit". gm convert: Postscript delegate failed (example.pdf).
我不确定为什么它说“没有这样的文件或目录”,因为我绝对确定该文件存在。
我还在 ruby 脚本中尝试该方法(通常我只在 Ruby on Rails 项目中使用 gem,所以这可能是一个愚蠢的错误)
require 'rubygems'
require 'docsplit'
CUR_DIR = Dir.getwd
DOCS_DIR = "#{CUR_DIR}/docs"
THUMB_DIR = "#{CUR_DIR}/thumbnails"
Dir.mkdir DOCS_DIR unless File.directory? DOCS_DIR
Dir.mkdir THUMB_DIR unless File.directory? THUMB_DIR
Dir.chdir(DOCS_DIR)
Dir["*"].each do |filename|
# skip directories
next if File.directory? filename
puts "processing #{filename}"
Docsplit.extract_images(filename, :size => '920x', :format => [:png, :jpg])
end
NameError:未初始化的常量 Docsplit
请注意,我使用的是 docsplit (0.5.0) 和 ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10]
有人知道导致此问题的原因以及可能解决此问题的方法吗?
如果有人知道用于制作 pdf 和文档图像的 ruby 替代方案,请分享。谢谢
最佳答案
仔细查看错误消息:
execvp failed, errno = 2 (No such file or directory) gm convert: "gs" "-q"
...
gm convert: Postscript delegate failed (example.pdf).
该消息告诉您 PostScript 构建器失败,因为它找不到 GhostScript (gs
)。所以,你需要安装GhostScript ,可能来自MacPorts .
关于ruby - 文档分割 gem 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5434890/