如何在特定点的X轴上使用prawn / rails绘制水平线

时间:2018-05-04 11:36:31

标签: ruby-on-rails pdf prawn

用户可以为页面指定边距底部,我希望能够绘制一条水平线,显示它们放置的位置。我在PDF文档中定义了margin_bottom(A4大小)。

我需要做的就是将指定的边距添加到X轴并画一条线。但是,我该如何绘制这条线?

据我所知,我可以打电话给这样的事情

stroke_horizontal_line(0, 0 + margin_bottom)

然而,这不起作用,我需要它是页面的整个宽度。

3 个答案:

答案 0 :(得分:1)

首先,我认为stroke_horizontal_line的工作方式与您认为的有些不同(如果我了解您要正确执行的操作)

stroke_horizontal_line(x1, x2, at: y)x1的垂直高度处画一条从x2y的水平线,其中y从文档底部的0开始(在下边距之后) ,而不是在页面底部。

因此,我认为您正在尝试在整个页面上绘制一条由某个变量margin_bottom定义的特定高度的水平线,以使用stroke_horizontal_line完成此操作,您可以这样做:

# You can set a stroke color, if you set it to white it is possible that you just
# forgot to set it back to black.
stroke_color 0, 0, 0, 100

# You can also set the line width
line_width 2

# This would draw a horizontal line across the whole page (not over your side margins)
# at the height of margin_bottom + your document bottom margin (measured from the bottom up)
stroke_horizontal_line(0, bounds.width, at: margin_bottom)

您还可以使用stroke_horizontal_rule,它只是在您当前的光标位置绘制一条水平线,因此在使用该方法之前,您必须将光标放置在正确的位置。

答案 1 :(得分:0)

易。

stroke_horizo​​ntal_line(y),(y),at:(x)

答案 2 :(得分:0)

stroke_horizontal_rule

应该这样做。