【问题标题】:Using ruby to modify a PDF使用 ruby​​ 修改 PDF
【发布时间】:2012-04-29 10:29:39
【问题描述】:

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

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

所以我真正需要的是允许我修改现有 PDF 文件(一种表格)并允许用户打印它的东西。可能是他们的名字和东西。

我们将不胜感激:)

【问题讨论】:

  • 您的意思是从头开始生成 PDF,还是修改现有的 PDF?
  • Rails 与 PDF 有什么关系?
  • 我的意思是修改现有的 PDF
  • iTextSharp? google.com/…
  • 介意更具体一点吗?

标签: ruby pdf


【解决方案1】:

你可以试试 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文档。希望对你有帮助。

【讨论】:

    【解决方案2】:

    如果你正在为此寻找一个 ruby​​ 库,那么你可以考虑prawn

    【讨论】:

      猜你喜欢
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      相关资源
      最近更新 更多