存储组合pdf由combine_pdf gem

时间:2018-04-24 06:01:43

标签: ruby-on-rails pdf-generation

我合并了两个pdf文件,如下所示

pdf = CombinePDF.new
pdf << CombinePDF.parse(Net::HTTP.get_response(URI.parse(@task.assignable.pdf_file.try(:file).try(:url))).body, allow_optional_content: true)
pdf << CombinePDF.load(file1_path) # one way to combine, very fast.
pdf.save "combined.pdf"

我可以通过以下方式检查并查看我的合并文件:

send_data pdf.to_pdf, filename: "combined.pdf", type: "application/pdf"

这一切都正常,但我想将此pdf存储在@signed_pdf记录中。

允许将pdf存储在我的记录中,如下所示:

@signed_pdf.signed_file = pdf.to_pdf

但似乎没有好的方法。我想将它存储为对象。

@signed_pdf.signed_file = pdf

但在这种情况下使用@signed_pdf.signed_file.to_pdf进行下载或显示错误的任何其他目的:

undefined method `to_pdf' for "#<CombinePDF::PDF:0x000000000dabd5d0>":String Did you mean? to_f to_d

combined pdf存储在我的记录中的方法是什么?

2 个答案:

答案 0 :(得分:0)

我认为您需要将pdf存储在文件系统或块存储提供程序(Amazon S3)上,而是将路径保存到db。

答案 1 :(得分:0)

您是否尝试先解析字符串?

CombinePDF.parse(@signed_pdf.signed_file).to_pdf