Кажется, креветка не сдвигает макет при использовании повторения (: все)
Я создаю документ с данными, которые поступают на каждую последующую страницу, каждая страница имеет стандартный заголовок. Однако, когда я использую repeat (: all) для размещения заголовка на каждой странице, я обнаруживаю, что на каждой странице, кроме первой, следующее содержимое не перемещается из-за размера баннера заголовка, который я разместил на странице. ,
Мой код для генерации баннера:
class SmartsoftPdf < Prawn::Document
BOX_MARGIN = 30
RHYTHM = 10
INNER_MARGIN = 30
# Colors
#
BLACK = "000000"
LIGHT_GRAY = "F2F2F2"
GRAY = "DDDDDD"
DARK_GRAY = "333333"
BROWN = "A4441C"
ORANGE = "F28157"
LIGHT_GOLD = "FBFBBE"
DARK_GOLD = "EBE389"
BLUE = "08C"
GREEN = "00ff00"
RED = "ff0000"
def show_header(text,date)
header_box do
image "#{Rails.root}/app/assets/images/smart_records_logo_h60.png", :height => 40
draw_text text,
:at => [80,25], :size => 12, :style => :bold, :color => BLUE
draw_text "Date: #{ausDate(date)}",
:at => [bounds.right - 100,bounds.top - 15], :size => 10 if date
end
end
def header_box(&block)
bounding_box([-bounds.absolute_left, cursor + BOX_MARGIN + 8],
:width => bounds.absolute_left + bounds.absolute_right,
:height => BOX_MARGIN*2) do
fill_color LIGHT_GRAY
fill_rectangle([bounds.left, bounds.top],
bounds.right,
bounds.top - bounds.bottom)
fill_color BLACK
move_down(RHYTHM)
indent(BOX_MARGIN, &block)
end
stroke_color GRAY
stroke_horizontal_line(-BOX_MARGIN, bounds.width + BOX_MARGIN, :at => cursor)
stroke_color BLACK
move_down(RHYTHM*4)
end
end
Затем в самом поколении PDF я делаю:
repeat(:all) do
show_header("Custom Report",DateTime.now())
end
Тем не менее, когда я начинаю размещать контент на страницах, я ожидаю, что при переполнении контента на следующей странице контент будет отображаться после заголовка. Я'Я обнаружил, что заголовок перекрывает содержимое.
Вот изображение, которое иллюстрирует проблему:http://i.imgur.com/mSy2but.png
Я неправильно строю заголовок? Нужно ли делать что-то дополнительное, чтобы сделать так, чтобы контент, который попадает на следующую страницу, выталкивался на нужную сумму?