Prawn: Настройка нижнего поля таблицы

Созданный на 21 дек. 2011  ·  5Комментарии  ·  Источник: prawnpdf/prawn

Привет,

Я только что столкнулся с проблемой, эта таблица переполняется в мой нижний колонтитул, и я не нашел простого способа установить нижнее поле таблицы. Итак, я сделал это быстрое исправление:

https://github.com/LastStar/prawn/commit/2a91998d01bbf058a49d138e4cc6556859563e79

У меня это работает, поэтому, пожалуйста, дайте мне знать, возможно ли включить его в master или это на мне ;).

Спасибо!

пепе

Самый полезный комментарий

На самом деле я работаю над несколькими документами, подобными этому, где нам нужно было начинать таблицу с середины первой страницы и продолжать на последующих страницах, оставляя место для нижнего колонтитула на каждой странице. Например, у нас есть биллинговая система, которая печатает большой заголовок на первой странице (с адресной информацией), а затем запускает таблицу активности учетной записи, которая может продолжаться на нескольких страницах. Похоже, это то, что вы пытаетесь сделать.

Способ, которым мы решаем эту проблему, состоит в том, чтобы создать ограничительную рамку, а затем изменить положение 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

Все 5 Комментарий

О, при втором просмотре я обнаружил, что 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

Работает как шарм! Спасибо за помощь!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги