大虾PDF:更改大虾::文档对象的边距

问题描述

我的PDF的第一页是全幅/全幅图像,因此我在生成margin: 0时设置了Document

Prawn::Document.generate(FILENAME,margin: 0) do |pdf|
  ...
end

尽管我希望其余的PDF都有一定的页边空白。我试图:

我没有主意,无法从文档中找到与我的问题相关的任何信息(除了可能找到触发merge_template_options方法

是否有实现此目标的建议?

解决方法

您使用的是哪个版本的Prawn?当我在第一页下面运行代码时,页边距使用0,并在使用页边距开始新页面后,所有后续页均保留最新页边距。这样,标题页将使用全部空间,而随后的所有页面均使用正常页边距。

让我知道这对您而言是否有所不同。我看不到如何附加为我创建的文档,但是可以附加屏幕截图以进行比较。

require 'prawn'

pdf = Prawn::Document.new(margin: 0)
pdf.text 'some random example text. page 1'

pdf.start_new_page(margin: 40)
pdf.text 'text with margin'
pdf.move_down 200
pdf.text 'more here'
pdf.move_down 700
pdf.text 'more here2'

pdf.start_new_page
pdf.text 'page 4 here'

pdf.render_file 'ex_file.pdf'