combine_pdf没有结合pdfs

时间:2017-06-22 19:44:22

标签: ruby-on-rails ruby

我想我错过了一些简单的事情。使用combine_pdf:我正在尝试将两个pdf文件合并为一个pdf,然后在我的rails应用程序中将结果pdf与send_data一起发送。

这是我在控制器中的代码:

pdf = CombinePDF.new

# returns an array, each element is a string of an absolute path 
# to the file I want to upload
absolute_upload_paths = @obj.attachments.collect {|obj| obj.my_attachment.path}

absolute_upload_paths.each {|upload_path| pdf << CombinePDF.load(upload_path)}

send_data pdf, filename: “my_combined_pdf”, type: "application/pdf"

什么结果是发送了一个无法打开的损坏的pdf文件:

  

Adob​​e Acrobat Reader无法打开“VR_Voc_Eval-51.pdf”,因为它不是受支持的文件类型,或者因为文件已损坏(例如,它是作为电子邮件附件发送而未正确解码)

我错过了什么?如何使用此gem将两个现有的pdf文件合并为一个pdf,然后将其发送给用户?

1 个答案:

答案 0 :(得分:2)

看起来该库的README在发送数据时调用.to_pdf。希望在示例中调用pdf对象上的#to_pdf将解决您的问题。

send_data pdf.to_pdf, filename: “my_combined_pdf”, type: "application/pdf"

https://github.com/boazsegev/combine_pdf#rendering-pdf-data