Оберните текст вокруг изображения в рельсы и креветки - PullRequest
4 голосов
/ 22 апреля 2010

У меня есть документ с динамическим изображением и динамическим текстом, и мне нужен текст вокруг изображения. Изображение выровнено по правому краю на альбомной странице. Вот что у меня есть:

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

Текст идет прямо под изображением. Я пытался сделать рубиновую креветку, как обернуть текст вокруг выровненного правого изображения? , но это не сработало.

Помощь приветствуется, спасибо.

Ответы [ 2 ]

2 голосов
/ 02 мая 2010

Если вы знаете ширину и высоту изображения, вы можете использовать text_box, чтобы расположить текстовое поле рядом с изображением, и собрать возвращенную строку текста, который не уместился. Затем создайте второе текстовое поле или обычный вызов text () под изображением и text_box, и все будет хорошо.

Этот пример должен помочь: http://github.com/sandal/prawn/blob/0.9.1/examples/text/text_box_returning_excess.rb

0 голосов
/ 22 апреля 2010

У меня мало опыта с креветками, так что это всего лишь предположение.Вы пытались поместить свои выражения 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
...