铁轨gem虾,图像和锚
你能告诉我如何插入图像,这将是一个链接,例如第20页? 我知道如何使用普通文本:
text "Go to page 20", :inline_format=>true
然后在第20页我有
add_dest('page20', dest_fit(page.dictionary))
但如何用图像做到这一点?
Prawn不支持此function。 实际上,即使您在图像上放置了formatted_text_box
并用空格填充它,它仍然无法正常工作。 锚必须包含要工作的文本。 如果您不介意在图像上添加文本,那么这可能是一种解决方案。
Prawn自己的自述文件说明:
Prawn不是,也绝不会是HTML生成器。
在处理了Prawn的许多缺点之后,我已经转而使用wicked_pdf来生成我的Ruby on Rails PDF并且对它非常满意。 如果你可以在html&css中完成,可以使用wicked_pdf完成。
部分归功于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做的事情。
我确信存在更好/更优雅的解决方案,所以我不打算考虑这是我的最终答案。
- 使用ActiveAdmin的多步骤表单?
- ExecJS :: RuntimeError:SyntaxError:意外的标记:operator(>)(行:22342,col:24,pos:826182)
- 如何使用Modals显示不同的post
- 有没有更简洁的方法在Ruby中调用外部方法?
- 在Git中编写一个预推钩来grep所有文件的正则表达式想要拒绝push如果找不到正则表达式
- 如何引用并将多个User_ID保存到单个表单并在索引/显示页面Rails 4 App中显示所述ID
- 如何检查数组中是否设置了nil?
- 比较ruby中相同的DateTime对象 – 为什么这两个DateTime.now不相等?
- 使用Rails3和Ruby 1.9.2运行Mongrel的LoadError