【发布时间】:2011-07-26 19:51:14
【问题描述】:
好的,我尝试了各种方法,但我不完全确定这会奏效。我需要合并的 pdf 文件在服务器上,并且它们的链接是硬编码的。 pdftk 在我的终端本地工作,但不适用于这些远程链接。所以我不确定一旦我将它投入生产,这是否会奏效。
基本上,我正在尝试编写一种方法,该方法将检索一组选定的 pdf 并将它们合并为一个 pdf 供用户下载。
但我很难理解如何使用临时文件并通过 rails 应用程序运行终端命令。
方法如下:
def create
@routes = TransitRoute.find(params[:selected_routes])
@selected_routes = @routes.collect {|x| x.new_pdf_link + " "}
Tempfile.open('prefix', "#{Rails.root}/tmp") do |f|
f.print("pdftk #{@selected_routes} cat output temporary.pdf")
f.flush
f.read
end
respond_to do |format|
format.html
end
end
我有几个问题:
-
我的临时文件中写入了正确的命令行:
pdftk 1.pdf 2.pdf cat 输出new.pdf
如何让这条线运行以创建 new.pdf?
我应该用新的 pdf 替换临时文件,还是将新的 pdf 写入它,或者只是在它自己的位置制作新的 pdf?如果是后者,我如何让它成为临时的?
如何获得新 pdf 的链接以便用户下载?
其中一些可能是基本的东西,但我从来不用像这样动态地制作 pdf 的临时文件。
哦,是的,这个应用程序也在 Rails 2.3 中
感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails pdftk temporary-files