Ruby on rails 轨道宝石虾,图像和锚

Ruby on rails 轨道宝石虾,图像和锚,ruby-on-rails,ruby,prawn,Ruby On Rails,Ruby,Prawn,你能告诉我如何插入图像,这将是一个链接到例如第20页?我知道如何使用普通文本: text "<link anchor='page20'>Go to page 20</link>", :inline_format=>true 但是如何使用图像执行此操作?Prawn不支持此功能。事实上,即使在图像上放置一个格式化的文本框,并用空白填充,它仍然无法工作。锚点必须包含文本才能工作。如果您不介意在图像上添加文本,那么这可能是一个解决方案 Prawn自己的自述文件声明: Pr

你能告诉我如何插入图像,这将是一个链接到例如第20页?我知道如何使用普通文本:

text "<link anchor='page20'>Go to page 20</link>", :inline_format=>true

但是如何使用图像执行此操作?

Prawn不支持此功能。事实上,即使在图像上放置一个
格式化的文本框
,并用空白填充,它仍然无法工作。锚点必须包含文本才能工作。如果您不介意在图像上添加文本,那么这可能是一个解决方案

Prawn自己的自述文件声明:

Prawn现在不是,将来也永远不会是HTML到PDF生成器

在解决了Prawn的许多缺点之后,我转而使用RubyonRails生成PDF,并对此感到非常满意。如果你可以在html和css中使用wicked_pdf来实现这一点。

部分原因是由于在正确的方向上进行了一些推动,我找到了一种方法,通过这种不雅观的方式来实现我想要的效果:

  • 边界框
    中插入图像(页面
    光标
    位于图像底部的该点)
  • 将光标移回图像顶部
  • 在图像上插入一个文本链接(在我的例子中,我只是使用了许多垂直条“
    |
    ”,以覆盖图像)
  • 目视确认可点击链接区域与图像边界大致相同
  • 使文本链接透明,瞧,看起来你在点击图像
下面是一些示例代码(测量不精确;涉及到很多调整):

不用说,这段经历让我对PDF做了更多的研究,以实现我想用PDF做的事情


我确信存在一个更好/更优雅的解决方案,因此我不打算将此作为我的最终答案。

我目前也有同样的问题。你有没有找到一种方法来嵌入一个链接在一个图像使用对虾?你能不能不只是使用HTML
查看和,我找不到支持在pdf图像中嵌入链接的内容。理想情况下,我可以像
image“local_image.png”,href:http://example.com
或在表格单元格中
{image:open(“remote_image.png”),href:http://example.com“}
但我似乎不知道,所以我想知道是否有解决办法。+1对于有用的信息,尤其是“如果您不介意在图像上添加文字,那么这可能是一个解决方案“,这是我黑客攻击的基础,以及到邪恶PDF的链接。再次感谢您的帮助。透明文本!哇,我离那个结论太近了,真不敢相信我错过了。好主意!不管怎样,我希望明虾对你有用,但如果不行的话,我强烈推荐它
add_dest('page20', dest_fit(page.dictionary))
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