ruby-on-rails 虾:设置边界框的格式

e1xvtsh3  于 2023-03-13  发布在  Ruby
关注(0)|答案(2)|浏览(149)

我是一个编程和Ruby新手,尝试使用虾生成PDF。我正在遵循虾手册,但在将文本放入边界框时遇到问题。以下是我的代码,主要来自虾手册...:

pdf.bounding_box([200, pdf.cursor - 100], :width => 200, :height => 100) do
      pdf.text "Just your regular bounding box"
      pdf.transparent(0.5) { pdf.stroke_bounds }
  end

如果我删除这行:pdf.transparent(0.5) { stroke_bounds },代码可以运行,但看不到文本框。我需要更改什么?

91zkwejq

91zkwejq1#

我不太明白你的意思。你说
代码可以工作,但看不到文本框
你的意思是你看不到框的边框,但是你仍然可以看到文本?或者你也看不到文本?我希望是前者,因为是stroke_bounds导致了边框的绘制。
因此,要回答你的“我需要改变什么”,这取决于你试图实现什么:

  • 如果你需要文本但不需要边框,你可以删除'pdf.transparent(0.5){ pdf.stroke_bounds },它唯一的工作是在边框周围画一个半透明的(即灰色的)边框
  • 如果你想要边框,就把那条线留在里面
  • 如果你想要边框,但是希望框的高度与文本的高度一致,那么从第一行删除:height => 100。bounding_box的高度将随之调整以适合文本。
xdnvmnnf

xdnvmnnf2#

您可以删除透明格式,只需说:

pdf.stroke_bounds

原始代码如下所示:

pdf.bounding_box([200, pdf.cursor - 100], :width => 200, :height => 100) do
      pdf.text "Just your regular bounding box"
      pdf.stroke_bounds
  end

相关问题