我有一张图片image.jpg
,我希望将其放在每页左下角的页脚中。我目前正在这样做,使用Ruby 1.9.3和prawn gem来创建PDF,如下所示:
start_new_page
image "image.jpg", :at => [0,30]
这有两个问题:
1)我正在动态创建页面,我需要将图像放在所有页面上。由于我从来不知道会创建多少页面,因此我不知道如何在每个页面上放置图像。
2)我的PDF中的表格被写在徽标的顶部,导致徽标不可见。
我在示例中找到了这段代码:
number_pages "<page> in a total of <total>", { :start_count_at => 0, :page_filter => :all, :at => [bounds.right - 50, 0], :align => :right, :size => 14 }
这将按照我想要的方式动态地在每个页面上放置文本;但是,它不适用于图像。
如何在我的文档中的每个页面的左下角放置图像?
答案 0 :(得分:5)
为什么不使用重复?
repeat(:all) do
image "image.jpg", :at => [pdf.bounds.right - 100, 0], :align => :right
end
您可以在Prawn手册(第98页)中找到更多信息。
答案 1 :(得分:2)
这究竟是什么问题?
这对我来说很好:
require 'prawn'
Prawn::Document.generate('hello.pdf') do |pdf|
pdf.text("Hello Prawn!")
pdf.image "image.jpg", :at => [pdf.bounds.right - 100, 0], :align => :right
pdf.number_pages "<page> in a total of <total>", :start_count_at => 0, :page_filter => :all, :at => [pdf.bounds.right - 100, 0], :align => :right, :size => 14
end
并将其添加到所有页面,您可以执行此操作:
require 'prawn'
Prawn::Document.generate('hello.pdf') do |pdf|
pdf.text("Hello Prawn!")
pdf.start_new_page
pdf.text("Hello Prawn!")
pdf.start_new_page
pdf.text("Hello Prawn!")
pdf.page_count.times do |i|
pdf.go_to_page i
pdf.image "image.jpg", :at => [pdf.bounds.right - 100, 0], :align => :right
end
pdf.number_pages "<page> in a total of <total>", :start_count_at => 0, :page_filter => :all, :at => [pdf.bounds.right - 100, 0], :align => :right, :size => 14
end
可能有更好的选择,但我之前从未使用过虾。