Работа с полями подписи с использованием Prawn и Rails

Поля подписи в двух столбцах Я пытаюсь нарисовать набор полей для подписи внизу страницы с условиями. Я новичок в Prawn, поэтому у меня возникли небольшие проблемы с этим. Я посмотрел на column_box метод и там, похоже, есть некоторые left_side а также right_side методы в некоторой документации, но эти методы, кажется, не работают (я получаю NoMethodError) или что-то.

То, что я хочу, это два поля подписи с текстом под каждым. Одна с левой стороны страницы и одна с правой стороны. Как мне это сделать?

Мой пример кода:

column_box([0, cursor], :columns => 2, :width => bounds.width) do
    text "_______________________"
    text "Signature 1"
    right_side
    text "_______________________"
    text "Signature 2"
end

И ошибка, которую я получаю:

undefined local variable or method `right_side' for #<Prawnto::TemplateHandlers::Renderer:0x00000005b3a420>

1 ответ

Решение

Вы можете сделать ваш column_box с двумя столбцами, а затем отрегулировать высоту в соответствии с размером подчеркивания и текста под ним, чтобы разбить столбцы между ними. Это было бы что-то вроде:

Prawn::Document.generate("hello.pdf") do
    column_box([0, cursor],:columns => 2, :width => bounds.width, :height => 75) do
        # For default font 2x 25px lines are enough to break an 75px height column
        # You should adjust height of the box and font_size to match
        # your desired 2-column effect
        font_size 25
        text("___________")
        text("Foo")
        text("___________")
        text("Bar")
    end
end

Это выводит: Foo Bar разделен на две колонки

Не забудьте указать :columns => 2 а также height атрибуты column_box для желаемого эффекта 2 колонки.

Другие вопросы по тегам