使用ruby修改PDF

时间:2011-01-21 00:05:49

标签: ruby pdf

我即将开始一个项目。我希望能够使用rails编辑PDF文件(表格)。

对此最好(也是最简单)的解决方案是什么?

所以我需要的是能够修改现有PDF文件(表单)并允许用户打印它的内容。可能是他们的名字和东西。

帮助将不胜感激:)

2 个答案:

答案 0 :(得分:0)

你可以试试pdf-stamper。我现在正在填写pdf表单字段。我的解决方案就是这样。

@template = PDF::Stamper.new(@form.pdf.current_path)

fields = @template.extract_fields

@form.form_fields.each do |ff|
  if fields.has_key?(ff.pdf_field)
    val = form_data.get_value(ff)
    render_field(@template, ff, val)
  else
    BindFile.logger.warn "Key '#{ff.pdf_field}' Not Found".center(100, "-")
  end
end

def render_field(templet, form_field, val)
   if val.present?
      case form_field.pdf_field_type
      when "CheckBox"
        if val.present?
          templet.checkbox form_field.pdf_field
        end
      when "RadioButton"
        templet.send("radio_button", form_field.pdf_field, "Yes")
      when "", nil
        templet.send "text", form_field.pdf_field, val
      else
        templet.send(form_field.pdf_field_type.to_s.downcase, form_field.pdf_field, val)
      end
    end
end

这里我增强了pdf-stamper添加方法“extract_fields”。并使用数据库记录来管理pdf文档。希望对你有所帮助。

答案 1 :(得分:-2)

如果您正在为此寻找ruby库,那么您可以考虑prawn