用 Prawn 改变 pdf 的背景颜色?

Changing the background color of a pdf with Prawn?

我这辈子都找不到任何关于如何将 pdf 的背景颜色更改为白色以外颜色的文档?

您可以将页面上的第一个元素设为占据整个页面的填充矩形。 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