ruby prawn可以生成带有链接的PDF吗?

rkkpypqq  于 12个月前  发布在  Ruby
关注(0)|答案(4)|浏览(112)

我需要在ruby on rails应用程序中生成的pdf文件中嵌入一个链接,有没有办法用prawn来实现?
阅读这一点,原来大虾格式是一段时间的答案,但0.7.x打破了这一点。
prawn-format使用link_annotate(rect, options={})函数来创建链接。需要传入哪些选项才能让它在PDF中创建链接?

编辑:

我希望看到一个这样做的代码示例,如果有人有一个。

bvjveswy

bvjveswy1#

我知道这是一个老问题,但对于那些仍然在这个问题上绊倒的人来说,在当前版本的Prawn中,你可以使用这样的内联格式:

pdf.text 'Website: <color rgb="0000FF"><u><link href="http://www.stackoverflow.com">stackoverflow</link></u></color>', :inline_format => true

字符串

js81xvg6

js81xvg62#

例如,如果您尝试创建一个指向外部页面(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") } )

字符串
对虾格式将解析传递给pdf.text方法的文本并找到html a标记,然后使用正则表达式解析出目标文本和链接文本,最后创建一个类似上面的带有边界框的链接(第一个参数)我不知道如果没有对虾格式,你怎么能做到这一点。但是,这就是你如何使用link_注解。“

9o685dep

9o685dep3#

  • 从Prawn 0.7开始,prawn-format完全不受支持,并且不适用于Prawn 0.7+版本。当然,请随意分叉和修复 * - prawn-format在github上的主页

另一种选择是使用prawn内置的低级注解支持:http://prawn.majesticseacreature.com/docs/prawn-core/classes/Prawn/Document/Annotations.html#M000158
方法如下:
link_annotation(rect,options={})
创建链接注解的一种方便方法。rect必须是一个由四个数字组成的数组,描述注解的边界。选项hash应该包括:Dest(描述目标目的地,通常是记录在文档的Dests树中的字符串),或:A(描述单击链接时执行的操作),或:PA(描述链接到的URL)。

iibxawm4

iibxawm44#

我最近这样做-工作很棒:

formatted_text_box([{:text=>"Google", :link=>"https://google.com", :color=>"0000ee"}])

字符串

相关问题