我有一个包含动态图片和动态文字的文档,并希望图片周围的文字。图像在横向页面上右对齐。以下是我到目前为止的情况:
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 how to wrap text around an aligned right image?但是没有用。
感谢帮助,谢谢。
答案 0 :(得分:2)
如果您知道图像的宽度和高度,则可以使用text_box定位图像旁边的文本框,并收集不适合的文本的返回字符串。然后在图像和text_box下创建第二个文本框或普通的text()调用,你应该很高兴。
此示例应该有所帮助: http://github.com/sandal/prawn/blob/0.9.1/examples/text/text_box_returning_excess.rb
答案 1 :(得分: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