Mẫu bạn đang đề cập đến, từ plugin tôm, đang sử dụng phiên bản cũ hơn của tôm.
Vì tôi cũng cần đầu trang và chân trang, tôi nhìn thêm một chút về điều này. Dường như phiên bản tôm đó có các phương thức đầu trang và chân trang, được triển khai bằng cách sử dụng hộp giới hạn lười. (tìm thấy bằng cách kiểm tra mã trên github)
Trong phiên bản tôm mới, bạn có thể làm điều tương tự bằng cách sử dụng bộ lặp.
Dưới đây là toàn bộ mẫu viết lại sử dụng phiên bản mới:
require "#{File.dirname(__FILE__)}/../example_helper.rb"
Prawn::Document.generate("test.pdf") do
repeat :all do
# header
bounding_box [bounds.left, bounds.top], :width => bounds.width do
font "Helvetica"
text "Here's My Fancy Header", :align => :center, :size => 25
stroke_horizontal_rule
end
# footer
bounding_box [bounds.left, bounds.bottom + 25], :width => bounds.width do
font "Helvetica"
stroke_horizontal_rule
move_down(5)
text "And here's a sexy footer", :size => 16
end
end
bounding_box([bounds.left, bounds.top - 50], :width => bounds.width, :height => bounds.height - 100) do
text "this is some flowing text " * 200
move_down(20)
font "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf"
table [["ὕαλον ϕαγεῖν", "baaar", "1" ],
["This is","a sample", "2" ],
["Table", "dont\ncha\nknow?", "3" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules\nwith an iron fist", "x" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ],
[ "It", "Rules", "4" ]],
:font_size => 24,
:horizontal_padding => 10,
:vertical_padding => 3,
:border_width => 2,
:position => :center,
:headers => ["Column A","Column B","#"]
end
end
bạn có thể kiểm tra các trang tài liệu của lặp lại cho các tùy chọn khác cho phép bạn xác định chính xác nơi bạn muốn lặp.
tôi vẫn tự hỏi làm thế nào bạn quản lý, tôm mà không viết công cụ lên các ô chân trang của bạn trong trường hợp này. Tôi đang sử dụng cùng một cách và nó chỉ không hoạt động. Điều tương tự cũng xảy ra trong ví dụ của bạn, khi bạn tăng số lượng văn bản. Chỉ cần xóa start_new_page và thêm '* 100' vào dòng văn bản bên trong vòng lặp. Tôi thường di chuyển toàn bộ tài liệu vào một hộp giới hạn và trừ các kích cỡ của hộp đầu trang/chân trang để tránh các vấn đề như vậy. – unexist
Ví dụ chân trang đó thực sự giúp tôi tiết kiệm nhiều giờ đau khổ. – Vigrant