用Prawn改变pdf的背景颜色?

时间:2015-04-30 03:19:38

标签: ruby prawn

我不能为我的生活找到关于如何将pdf的背景颜色更改为白色以外的其他文档?

1 个答案:

答案 0 :(得分:6)

您可以让页面上的第一个元素成为占据整个页面的填充矩形。 canvas将让您处理整个页面的界限。

canvas do
  fill_color "FFFFCC"
  fill_rectangle [bounds.left, bounds.top], bounds.right, bounds.top
end

以下脚本将创建this PDF

require "prawn"

def background_color(color)
  tmp_color = fill_color
  canvas do
    fill_color color
    fill_rectangle [bounds.left, bounds.top], bounds.right, bounds.top
  end
  fill_color tmp_color
end

Prawn::Document.generate("colored-pages.pdf") do
  fill_color "FF0000"

  background_color "FFFFCC"
  text "Text on page 1"

  start_new_page
  background_color "FFCCFF"
  text "Text on page 2"

  start_new_page
  background_color "CCFFFF"
  text "Text on page 3"

  start_new_page
  background_color "CCFFCC"
  text "Text on page 4"
end