PDFファイルとPrawnを結合する
概要
複数の PDF ファイルを組み合わせるときに問題が発生します。
「表示」アクションで PrawnPDF を使用して PDF を生成しています。
選択した複数のアイテムを 1 つの PDF に結合できるようにしたいと考えています。
私はcombine_pdf geamを使用してこの方法でそれを解決しようとしています
def nested_jobs_multiply_pdf
pdf_file_paths = params[:items]
pdf_file_paths = pdf_file_paths.map! do |x|
x.to_s + ".pdf"
end
@pdfForms = CombinePDF.new
pdf_file_paths.each do |x|
@pdfForms << CombinePDF.parse(nested_job_path(x, format: "pdf"))
end
@pdfForms.save "combined.pdf"
flash[:notice] = "Combined PDF successful"
redirect_to nested_jobs_path
end
残念ながらエラーが発生します
RuntimeError in NestedJobsController#nested_jobs_multiply_pdf
Unknown PDF parsing error - malformed PDF file?
Extracted source (around line #89):
87 @pdfForms = CombinePDF.new
88 pdf_file_paths.each do |x|
89 @pdfForms << CombinePDF.parse(nested_job_path(x, format: "pdf"))
90 end
91 @pdfForms.save "combined.pdf"
92
解決策
これが機能するか試してください:
pdf_file_paths.each do |path|
@pdfForms << CombinePDF.load(path) #path is relative path to pdf file stored locally like path/to/801.pdf
end