rails gem prawn, image and anchor

前端 未结 2 1785
清酒与你
清酒与你 2021-02-14 21:29

Can you tell me how to insert image which will be a link to for example page 20? I know how to make with normal text:

text \"Go to          


        
相关标签:
2条回答
  • 2021-02-14 21:50

    Prawn does not support this functionality. In fact, even if you placed a formatted_text_box over an image and fill it with white space, it still will not work. An anchor has to include text to work. If you don't mind having text over your image, then that might be a solution.

    Prawn's own readme states:

    One thing Prawn is not, and will never be, is an HTML to PDF generator.

    After dealing with many of Prawn's shortcomings, I've switched to using wicked_pdf for my Ruby on Rails PDF generation and have been very happy with it. If you can do it in html & css, it can be done with wicked_pdf.

    0 讨论(0)
  • 2021-02-14 22:14

    Partly thanks to lightswitch05 for some prodding in the right direction, I've found a way to get the effect I want through this inelegant way:

    • Insert an image in a bounding_box (the page cursor is at this point at the bottom of the image)
    • Move the cursor back up to the top of the image
    • Insert a text link over the image (in my case I just used however many vertical bars '|' were needed to cover the image)
    • Confirm visually that the clickable link area is about the same as the boundaries of the image
    • Make the text link transparent, and voilà, it looks like you're clicking the image.

    Here's some example code (measurements not exact; there was a lot of tweaking involved):

    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
    

    Needless to say, this experience has got me looking a bit more at Wicked PDF in order to do what I think I want to do with PDFs.

    I'm sure a better/more elegant solution exists, so I'm not planning on considering this my final answer.

    0 讨论(0)
提交回复
热议问题