2011-09-12 1 views
1

Я разрабатываю некоторые отчеты о креветках и сталкиваюсь с проблемой, когда любая строка, которую я рисую с таким кодом, как показано ниже, будет отображаться только на последней странице.Строка не отображается

horizontal_line(0, 200, :at => y) 

Он вызывается один раз на страницу.

Мой код является относительно сложным в настоящее время, так что я пытался изолировать проблему разместить здесь, выделенный код следует

require 'prawn' 

a = Prawn::Document.new(:page_size => 'A4', :margin => [20,20,20,20]) 
a.font('Times-Roman') 
a.horizontal_line(10, 400, :at => 140) 
a.text_box('Test Text', :size => 50, :at => [2, 100], :width => 400) 
puts a.render 

Для моему удивлению, он didn't работать даже с одной страницы документа. Выполняется только «тестовый текст». Это заставляет меня думать, что я делаю что-то неправильно в настройке страницы или что-то в этом роде.

ответ

2

Устранить проблему.

Правильное использование будет:

require 'prawn' 

a = Prawn::Document.new(:page_size => 'A4', :margin => [20,20,20,20]) 
a.font('Times-Roman') 
a.stroke do 
    a.horizontal_line(10, 400, :at => 140) 
end 
a.text_box('Test Text', :size => 50, :at => [2, 100], :width => 400) 
puts a.render