用Prawn改变pdf的背景颜色?

Ale*_*ris 5 ruby prawn

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

Luk*_*itz 7

您可以让页面上的第一个元素成为占据整个页面的填充矩形. canvas将让你使用整个页面的边界.

canvas do
  fill_color "FFFFCC"
  fill_rectangle [bounds.left, bounds.top], bounds.right, bounds.top
end
Run Code Online (Sandbox Code Playgroud)

以下脚本将创建此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
Run Code Online (Sandbox Code Playgroud)