2011-03-25 135 views
2

您好我想打一個上傳文檔的每個頁面的截屏,PDFdocsplit寶石問題

所以我昨天安裝了Docsplit寶石(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項目中使用的寶石,所以這可能是一個愚蠢的錯誤)

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]

會有人happend知道是什麼導致了這個問題,什麼將可能解決這個問題?

如果有人知道用於製作pdf和文檔圖片的紅寶石替代品,請分享。由於

回答

6

仔細看看錯誤消息:

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

+0

精彩,確實確定了第一部分。你有什麼想法,爲什麼我得到的紅寶石錯誤:NameError:未初始化的常量Docsplit – Ayrton 2011-03-25 17:30:27

+0

@Ayrton:我沒有一個方便的Docsplit安裝,所以我不能檢查,但它看起來應該工作。 「單元常量」是你在Ruby無法找到類或模塊時獲得的,並且['extract_images'](http://rubydoc.info/gems/docsplit/0.5.0/Docsplit.extract_images)應該在'Docsplit'和'Docsplit'應該在'docsplit'庫中。 – 2011-03-25 18:05:08

+0

這就是我的想法,因此需求'docsplit'和Docsplit.extract_images。然而,我一直在生產'DNameError:未初始化的常量Docsplit'錯誤 – Ayrton 2011-03-25 18:50:37