Prawn:由column_box销毁的奇数页和偶数页上的不同页边距

时间:2015-07-03 13:28:04

标签: ruby margin prawn

我为穿孔打造了奇数页和偶数页(内侧空间更大)的不同页边距。

require 'prawn'
require "prawn/measurement_extensions"
require 'forgery'

MARGIN_ODD  = [10.mm, 10.mm, 10.mm, 30.mm] #right page
MARGIN_EVEN = [10.mm, 30.mm, 10.mm, 10.mm] #left page
PAGE_SIZE   = 'A4'
PAGE_LAYOUT = :portrait

class MyPrawnDocument < Prawn::Document
  def start_new_page(options={})
    # page_number before start_new_page is called
    page_number.odd? ? super({margin: MARGIN_EVEN}.merge(options)) : super({margin: MARGIN_ODD}.merge(options))
  end
end

MyPrawnDocument.generate("listing.pdf", margin: MARGIN_ODD) do
  100.times do
    text Forgery(:lorem_ipsum).words(7)
  end 
end

现在我想将文本格式化为每页2列。 我记录了column_box

MyPrawnDocument.generate("listing.pdf", margin: MARGIN_ODD) do
  column_box( [0,cursor], columns: 2, width: bounds.width ) do
    100.times do
      text Forgery(:lorem_ipsum).words(7)
    end 
  end
end

现在我有2列中的文字,但缺少切换边距。

我知道如何在奇数页和偶数页上有2列不同的边距?

0 个答案:

没有答案