One suggestion is to try nested bounding boxes. The main bounding box will contain the text inside it. at some point, another bounding box for the image. Something along the lines
bounding_box([x,y], :width => bounds.width, :height => 400) do text "blah" text "blah"
You can simply use an image without a bounding box, but a bounding box will ensure that text flows around it.
source share