你能告诉我如何插入图像,这将是第20页的链接吗?我知道如何使用普通文本:
text "<link anchor='page20'>Go to page 20</link>", :inline_format=>true
然后在第20页我
add_dest('page20', dest_fit(page.dictionary))
但如何用图片做到这一点?
答案 0 :(得分:5)
Prawn不支持此功能。实际上,即使您在图像上放置formatted_text_box
并用空白填充它,它仍然无效。锚必须包含要工作的文本。如果您不介意在图像上添加文本,那么这可能是一种解决方案。
Prawn自己的自述文件说明:
Prawn不是,也绝不会是HTML格式的PDF生成器。
在处理了Prawn的许多缺点之后,我已经转而使用wicked_pdf来生成我的Ruby on Rails PDF并且对它非常满意。如果你能用html&amp; css,可以使用wicked_pdf完成。
答案 1 :(得分:5)
部分感谢lightswitch05对正确方向的一些刺激,我找到了一种通过这种不雅的方式获得我想要的效果的方法:
bounding_box
中插入图片(页面cursor
此处位于图片底部)|
'来覆盖图片)这是一些示例代码(测量不准确;涉及很多调整):
bounding_box([0, cursor], width: 35) do
image open("http://mysite.com/remote_image.jpg"),
fit: [35, 35],
align: :center
move_up 35
transparent(0) do
formatted_text([{
text: "|||", # placeholder
size: 40,
link: "http://example.com/"
}], align: :center)
end
# stroke_bounds
end
毋庸置疑,这种经历让我在Wicked PDF看到了更多,以便做我认为我想用PDF做的事情。
我确信存在更好/更优雅的解决方案,所以我不打算考虑这是我的最终答案。