加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为整个Prawn PDF文档设置动态高度

发布时间:2020-12-17 02:48:42 所属栏目:百科 来源:网络整理
导读:当我尝试使用 Prawn gem for Rails生成文档时,我遇到了问题 我要做的是为我的pdf设置一个可变高度,因此根据数据库中的一些查询,PDF高度将会改变.我这样做是因为我需要单页PDF文档. 目前,我的代码如下所示: pdf = Prawn::Document.new(page_size: [297.64,41
当我尝试使用 Prawn gem for Rails生成文档时,我遇到了问题

我要做的是为我的pdf设置一个可变高度,因此根据数据库中的一些查询,PDF高度将会改变.我这样做是因为我需要单页PDF文档.

目前,我的代码如下所示:

pdf = Prawn::Document.new(page_size: [297.64,419.53],margin: 0)

....

data = [ ["Header1","Header2","Header3","Header4","Header5","Header6"] ]

// here is the variable data
cart.cart_products.each do |cp|
  arr = [
    cp.product_code,cp.product_description,cp.amount,cp.product_metric,cp.product_unit_value,cp.total_value
  ]

  data.push(arr)
end

// populating the table with data
pdf.table(data,:cell_style => {:border_width => 0},:column_widths => [45,80,30,42.36,50,50]) do |table|
  table.row(0).border_width = 0.1.mm
  table.row(0).font_style = :bold
  table.row(0).borders = [:bottom]
end

....

pdf.render_file("path/to/dir/document.pdf")

谁能帮我这个?谢谢.

解决方法

如果不知道你究竟在调整什么,我将不得不在这里做出一些猜测.

因此,我会为返回的数据和最小文档高度建立某种行高.

line_height = 14
min_height = 419.53

然后我会运行查询并计算结果.然后我会弄清楚变量高度是多少并将其添加到最小高度.

variable_height = results.length * line_height
height = min_height + variable_height

最后:

pdf = Prawn::Document.new(page_size: [297.64,height],margin: 0)

这样的事情可以根据您的特定需求进行调整.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读