好的,我尝试了各种各样的东西,但我不完全确定这会奏效。我需要合并的 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 猫输出 new.pdf
如何让这条线运行以便创建 new.pdf?
我应该用新的pdf替换临时文件,还是将新的pdf写入它,或者只是在它自己的位置制作新的pdf?如果是后者,我如何让它成为暂时的?
如何获得新 pdf 的链接以便用户下载?
其中一些可能是基本的东西,但我从来不用像这样动态地制作 pdf 的临时文件。
哦,是的,这个应用程序也在 Rails 2.3 中
谢谢你的帮助。