0
我有一臺服務器,生成或複製PDF文件到特定的文件夾。測試PDF文件是否在Ruby中完成(在Solaris/Unix上)?
我寫了一個Ruby腳本(我第一次),對於自己的PDF文件regularily檢查,並與Acrobat裏顯示它們。太簡單了,真好。
但現在我的問題:如何檢測PDF是否已經完成?
生成的PDF以%% EOF \ n結尾爲 ,但複製的是用一些Apple-Magic(我認爲是Acrobat Writer)生成的,在文件開頭附近有%% EOF,大量二進制零和另一個%% EOF結尾附近的回車符(或換行符)和結尾的二進制零。
while true
dir = readpfad
Dir.foreach(dir) do |f|
datei = File.join(dir, f)
if File.file?(datei)
if File.stat(datei).owned?
if datei[-9..-1].upcase == "__PDF.PDF"
if File.stat(datei).size > 5
test = File.new(datei)
dummy = test.readlines
if dummy[-1][0..4] == "%%EOF"
#move the file, so it will not be shown again
cmd = "mv " + datei + " " + movepfad
system(cmd)
acro = ACROREAD + " " + File.join(movepfad, f) + "&"
system(acro)
else
puts ">>>" + dummy[-1] + "<<<"
end
end
end
end
end
end
sleep 1
end
任何幫助或想法? 謝謝 彼得
感謝您的回答,但對我來說它並不能幫助:「服務器」是一個過程,它打印演示文檔管理設備(PostScript打印機)的文本,將其發送到其異步調用的Ghostscript到了打印機隊列生成一個PDF(是的,它是OS/2) – 2009-08-11 12:57:42
你不能用一個寫pdf的腳本包裝對ghostscript的調用,然後做一個「touch filename.done」? – klochner 2009-08-11 17:08:05