さて、私はあらゆる種類のものを試しましたが、これがうまくいくかどうかは完全にはわかりません。マージする必要のあるPDFはサーバー上にあり、それらへのリンクはハードコーディングされています。pdftkは私のターミナルでローカルに動作しますが、これらのリモートリンクでは動作しません。ですから、本番環境に移行した後、これが機能するかどうかはわかりません。
基本的に、私は、選択したpdfのグループを取得し、ユーザーがダウンロードできるようにそれらを1つの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 output new.pdf
new.pdfが作成されるように、この行を実行するにはどうすればよいですか?
一時ファイルを新しいpdfに置き換えるのか、それとも新しいpdfを書き込むのか、それとも独自の場所に新しいpdfを作成するのか。後者の場合、どうすれば一時的なものにすることができますか?
ユーザーがダウンロードできるように、新しいPDFへのリンクを取得するにはどうすればよいですか?
これのいくつかは基本的なものかもしれませんが、私はこのように動的にpdfを作成するtempfilesをいじる必要はありませんでした。
そうそう、このアプリはRails2.3にもあります
助けてくれてありがとう。