【问题标题】:How to center table in prawn?如何在对虾中居中?
【发布时间】:2012-03-08 14:06:17
【问题描述】:

我在 prawn 中创建了一个表,并希望传递 :position 选项,手册中也记录了该选项,但它会引发 Method_missing 错误。好像这个参数不存在了。如何在对虾中居中?

【问题讨论】:

    标签: ruby-on-rails ruby prawn


    【解决方案1】:

    我遇到了同样的错误。在 Github 上从 master 安装解决了这个问题。

    # Gemfile
    gem 'prawn', git: 'https://github.com/prawnpdf/prawn.git'
    

    Issue thread on Github

    【讨论】:

    • 最好在您的 Gemfile 中设置一个 :ref 以防 master 损坏(然后您的生产环境损坏)。
    【解决方案2】:

    希望对你有帮助

    pdf.table tablename,
        :border_width => 0,
        :font_size => 11,
        :position => :center
    

    【讨论】:

    • 就像我说的,当我尝试使用该选项时,我得到一个未定义的方法错误:Error: /usr/local/lib/ruby/gems/1.9.1/gems/prawn-0.12.0/lib/prawn/table.rb:125:in block in initialize': undefined method position=' for #<Prawn::Table:0x000000056768f8> (NoMethodError)
    • 尝试安装gem 'prawn-layout',如果上述方法不起作用,请尝试此操作gem 'prawn', :git => "https://github.com/prawnpdf/prawn.git"
    • 如果我们假设指向那个 git,如果有一天那个 git 被删除了怎么办?就没有其他办法解决吗?
    【解决方案3】:

    PDF 生成是来自声明的类还是在控制器内 您需要将以下行添加到您的 Gemfile 中

    gem 'prawn-table', '~> 0.2.1'
    

    在撰写本文时,它是 gem 版本,这将使您能够访问诸如位置之类的表方法

    我在这个例子中使用了它并且它有效

    def table_items(chart_data, doc)
      table = Prawn::Table.new(table_rows(chart_data), doc, {:header => true})
      table.row(0).font_style = :bold
      table.position = :center
      table.draw
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 2013-03-04
      • 2011-11-21
      • 2017-10-21
      相关资源
      最近更新 更多