Привет,
Я только что столкнулся с проблемой, эта таблица переполняется в мой нижний колонтитул, и я не нашел простого способа установить нижнее поле таблицы. Итак, я сделал это быстрое исправление:
https://github.com/LastStar/prawn/commit/2a91998d01bbf058a49d138e4cc6556859563e79
У меня это работает, поэтому, пожалуйста, дайте мне знать, возможно ли включить его в master или это на мне ;).
Спасибо!
пепе
О, при втором просмотре я обнаружил, что vim удалил все конечные пробелы, что сделало фиксацию довольно большой. Должен ли я создать новый только с предполагаемыми изменениями?
Я сожалею об этом.
пепе
Делает ли это что-нибудь, чего не сделало бы размещение таблицы в ограничивающей рамке с определенной высотой? Я не думаю, что нам следует добавлять это в Prawn::Table, если только это нельзя легко сделать иначе.
Я так не думаю, потому что это для таблицы, которая начинается в центре первой страницы и затем проходит через много страниц (это счет-фактура со многими элементами. На самом деле я думаю, что это ошибка, потому что такая таблица не не соблюдайте даже границы страницы. Я посмотрю в выпуске в среду и скажу вам, что я нашел.
Благодарю за ваш ответ!
На самом деле я работаю над несколькими документами, подобными этому, где нам нужно было начинать таблицу с середины первой страницы и продолжать на последующих страницах, оставляя место для нижнего колонтитула на каждой странице. Например, у нас есть биллинговая система, которая печатает большой заголовок на первой странице (с адресной информацией), а затем запускает таблицу активности учетной записи, которая может продолжаться на нескольких страницах. Похоже, это то, что вы пытаетесь сделать.
Способ, которым мы решаем эту проблему, состоит в том, чтобы создать ограничительную рамку, а затем изменить положение Y для первой страницы. Это работает примерно так:
# ... draw your first-page header here
# Store away the y-position below the header on the first page
old_y = y
# Start a bounding box the size of the page (excluding the footer)
bounding_box([bounds.left, bounds.top],
:width => bounds.width, :height => bounds.height - FooterHeight) do
# Restore the old y-position for the first page
self.y = old_y
table(...)
end
Работает как шарм! Спасибо за помощь!
Самый полезный комментарий
На самом деле я работаю над несколькими документами, подобными этому, где нам нужно было начинать таблицу с середины первой страницы и продолжать на последующих страницах, оставляя место для нижнего колонтитула на каждой странице. Например, у нас есть биллинговая система, которая печатает большой заголовок на первой странице (с адресной информацией), а затем запускает таблицу активности учетной записи, которая может продолжаться на нескольких страницах. Похоже, это то, что вы пытаетесь сделать.
Способ, которым мы решаем эту проблему, состоит в том, чтобы создать ограничительную рамку, а затем изменить положение Y для первой страницы. Это работает примерно так: