4

我有一个包含动态图像和动态文本的文档,并且想要图像周围的文本。图像在横向页面上右对齐。这是我到目前为止所拥有的:

pdf.bounding_box([0,pdf.bounds.top - 50], :width => pdf.bounds.width, :height => pdf.bounds.height-50) do
  pdf.text @article.title, :size => 30, :style => :bold
  pdf.text @article.content, :align => :left
  # image
  pdf.bounding_box([pdf.bounds.right - 250, pdf.bounds.top], :width => 250, :height => 250) do
    pdf.image image_path, :width => 250
  end
end

文字就在图像的下方。我试着做这个ruby​​ prawn 如何在对齐的右图像周围环绕文本?但它没有用。

感谢您的帮助,谢谢。

4

2 回答 2

2

如果知道图片的宽度和高度,可以使用 text_box 在图片旁边放置一个文本框,并收集返回的不适合的文本字符串。然后在 image 和 text_box 下方创建第二个文本框或普通的 text() 调用,您应该可以开始了。

这个例子应该有帮助:http: //github.com/sandal/prawn/blob/0.9.1/examples/text/text_box_returning_excess.rb

于 2010-05-02T13:29:43.630 回答
0

我对虾没有太多经验,所以这只是一个猜测。您是否尝试过将 pdf.text 语句放在图像边界框之后?

pdf.bounding_box([0,pdf.bounds.top - 50], 
   :width => pdf.bounds.width, 
   :height => pdf.bounds.height-50) do 

   # image 
   pdf.bounding_box([pdf.bounds.right - 250, pdf.bounds.top], 
      :width => 250, :height => 250) do 
      pdf.image image_path, :width => 250 
   end 

   pdf.text @article.title, :size => 30, :style => :bold 
   pdf.text @article.content, :align => :left 

end
于 2010-04-22T19:00:24.470 回答