2011-11-27 55 views
9

你能告訴我如何插入圖像,這將是一個鏈接,例如第20頁?我知道如何使對普通的文字:鐵欄寶石蝦,圖像和錨點

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

,然後第20頁上我有

add_dest('page20', dest_fit(page.dictionary)) 

,但如何與圖像做到這一點?

+0

我目前遇到同樣的問題。你有沒有找到一種方法來使用Prawn在圖像中嵌入鏈接? –

+0

你不能只使用HTML? '' – jamesc

+0

看看[蝦文檔](http://prawn.majesticseacreature.com/manual.pdf)和[蝦回購](https://github.com/prawnpdf/prawn),我可以找到沒有提及支持在pdf中嵌入圖片中的鏈接。理想情況下,我可以像'image「local_image.png」,href:「http://example.com」或者表格單元{{image:open(「remote_image.png」),href :「http://示例。「}」但我看起來不太可能,所以我想知道是否有解決方法。 –

回答

5

對方不支持此功能。事實上,即使您將formatted_text_box放置在圖像上並填充了空白區域,它仍然不起作用。錨點必須包含文本才能工作。如果你不介意在圖片上留下文字,那麼這可能是一個解決方案。

大蝦自己的自述狀態:

一件事大蝦是不是,也永遠不會是,是一個HTML到PDF生成器。

在處理了很多蝦的缺點之後,我轉向使用wicked_pdf來生成我的Ruby on Rails PDF,並且對它非常滿意。如果你可以在html & css中完成,可以用wicked_pdf來完成。

+2

對於有用的信息+1,特別是「如果你不介意在圖像上有文字,那麼這可能是一個解決方案「,這是我入侵的基礎,並鏈接到Wicked PDF。 –

+0

再次感謝您的幫助。 –

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做的事情。

我相信有更好的/更優雅的解決方案存在,所以我不打算考慮這個我的最終答案。

+0

透明文本!哇,我非常接近這個結論我不敢相信我錯過了它。 ,我希望蝦對你有用,但如果沒有,我強烈推薦邪惡的PDF – lightswitch05