gem combine_pdf
rails内でPDFファイルをマージ(コンバイン)したく探しました。
そしたら、ありました。
こんな感じ
公式より抜粋
pdf = CombinePDF.new
pdf << CombinePDF.load("file1.pdf") # one way to combine, very fast.
pdf << CombinePDF.load("file2.pdf")
pdf.save "combined.pdf"
loadメソッドの引数はファイルパスのみ対応のようです。
pdf.saveで指定したファイルパスにマージ後のPDFファイルを生成します。
carrierwave+S3 railsでの使用例を書きに載せてみる。
hoge.rb(モデル)
class Hoge < ApplicationRecord
mount_uploader :pdf, FileUploader
end
例
pdf = CombinePDF.new
hoge = Hoge.find(1) # model Hoge
hogehoge = Hoge.find(2)
pdf_object1 = open(hoge.pdf_url)
pdf << CombinePDF.load(pdf_object1.path)
pdf_object2 = open(hogehoge.pdf_url)
pdf << CombinePDF.load(pdf_object2.path)