将Rails部分添加到现有PDF

时间:2013-02-08 19:43:20

标签: ruby pdf ruby-on-rails-3.2 pdf-generation wicked-pdf

我有一个rails项目,我正在使用wicked_pdf从生成的html生成PDF,而我正在为该pdf的每个页面添加一个光滑的页脚。这些pdf页面实际上来自解析后的单词.doc或.txt文件,然后在下载时使用此页脚将它们转换为PDF。

但是...... PDF也被上传到系统中,虽然没有在应用程序中解析和显示,但我需要在下载时将其作为上面的其他文件。反正有吗?

我不需要编辑PDF中的任何内容,只需添加此页脚。

非常感谢!

1 个答案:

答案 0 :(得分:1)

如果它已经是PDF,那么wicked_pdf在这里不会帮到你,但你可以使用Prawn或PDFtk。

您可以使用以下内容在现有pdf的每个页面的底部区域之上叠加一些内容:

require 'prawn'
require 'pdf-reader'

respond_to do |format|
  format.pdf {
    input_filename = Rails.root.join('input.pdf')

    page_count = PDF::Reader.new(input_filename).page_count

    file = Prawn::Document.new(:skip_page_creation => true) do |pdf|

      page_count.times do |num|
        pdf.start_new_page(:template => input_filename, :template_page => num+1)
        pdf.move_down(700)
        pdf.text('FOOTER TEXT')
      end

    end
    send_data file.render
  }
end