我需要在rails应用程序的ruby中嵌入生成的pdf链接。有没有办法用虾做到这一点?
读到这一点后发现大虾格式是一段时间的答案,但0.7.x打破了这一点。
prawn-format使用link_annotate(rect, options={})
函数创建链接。需要哪些选项才能在PDF中创建链接?
修改
我希望看到一个代码示例,如果有人有一个这样做。
答案 0 :(得分:21)
我知道这是一个老问题,但对于那些仍然磕磕绊绊的人,在当前版本的Prawn中,你可以使用这样的内联格式:
pdf.text "Website: <link href='http://www.stackoverflow.com'>stackoverflow</link>", :inline_format => true
答案 1 :(得分:10)
如果您尝试创建指向外部页面的链接(http://google.com),例如您可以使用以下内容,以放置一个100x100的链接,并将其放置在距离左下角5,5的位置。页面,带1px边框:
pdf.link_annotation([100, 100, 5, 5], :Border => [0,0,1], :A => { :Type => :Action, :S => :URI, :URI => Prawn::LiteralString.new("http://google.com") } )
Prawn Format会解析传递给pdf.text方法的文本并找到html标签。然后,它将使用正则表达式来解析目标和链接文本,最后创建一个类似上面的链接,其边界框(第一个参数)将适合标记内的文本。如果没有Prawn格式,我不确定如何实现这一目标。但这就是使用link_annotation创建链接的方法。
答案 2 :(得分:1)
截至Prawn 0.7,prawn-format是 完全没有支持,也不会 使用Pilen 0.7+的版本。感觉 免费分叉和修复,当然 - github上的prawn-format主页
另一个选择是使用prawn内置的低级注释支持: http://prawn.majesticseacreature.com/docs/prawn-core/classes/Prawn/Document/Annotations.html#M000158
继承人的方法:
link_annotation(rect,options = {})
创建链接的便捷方法 注释。 rect必须是一个数组 四个数字,描述的范围 注释。选项哈希 应该包括:Dest (描述目标目的地, 通常作为一个字符串 记录在文件的Dests中 树),或:A(描述对...的行动) 执行单击链接),或:PA (用于描述要链接的URL)。
答案 3 :(得分:0)
我最近这样做了 - 效果很好:
formatted_text_box([{:text=>"Google", :link=>"https://google.com", :color=>"0000ee"}])