首页 > 解决方案 > 如何使用 Prawn 中的 column_boxes 中断新页面插入

问题描述

我在我的 Prawn 类中重写#start_new_page了一些逻辑,在页面创建期间将边框添加到页面中作为最后一件事。我现在正在添加一些使用#column_boxes. 不幸的是,溢出页面似乎没有触发#start_new_page

我添加了这个:

current_page_count = page_count

# write some text page(s)...

new_page_count = page_count

(new_page_count - current_page_count).times do |additional_index|
  # pages are 1-based, but #times yields a zero-based value
  next_page = current_page_count + additional_index + 1

  go_to_page next_page
  add_border
end

不幸的是,边框现在放置在内容的顶部,而不是在其后面。有没有办法我可以:

我可以创建一个只有边框的新页面,然后合并在#column_boxes它上面创建的内容。

我意识到我可以在 Ghostscript 中进行合并,但必须在 Prawn 中完成,因为我根据用户数据创建了未知数量的内容。

标签: prawn

解决方案


事实证明,代码被破坏的原因是我Prawn::View同时更改为包含。我的#start_new_page覆盖因此停止工作。我切换回继承,它现在可以工作了。


推荐阅读