2009-09-20 85 views
11

使用iTextSharp我想对齐图像,以便它嵌入到段落中。我能做到这一点是这样的:文字中的图像对齐?

iTextSharp.text.Image image; 
image.Alignment = Image.ALIGN_RIGHT | Image.TEXTWRAP; 
document.Add(image); 
document.Add(new Paragraph("Large string of text goes here")); 

但图像出来与文本右上方周围(有点像一个L)

我想要的是几段文字然后是带有文字的图像(有点像C)。有谁知道我会如何做VIA iTextSharp?

编辑:

我也试过

iTextSharp.text.Image image; 
image.Alignment = Image.ALIGN_RIGHT | Image.TEXTWRAP | Image.ALIGN_MIDDLE; 
document.Add(image); 
document.Add(new Paragraph("Large string of text goes here")); 

,但它是在顶部的形象和它下面的文本显示。没有实际的textwrap。

回答

14

短语和段落对象的行为有所不同。尝试改为:

image.Alignment = 6; 
document.Add(image); 
document.Add(new Phrase("Large string of text goes here")); 

这在VB中适用于我。 (我必须将图像对齐更改为ALIGN_RIGHT和TEXTWRAP的整数值的总和以使其正常工作)。

ALIGN_RIGHT = 2 
TEXTWRAP = 4 

您的图片在页面的顶部显示,因为它是添加到文档的第一件事,和之后加入的文字。 您可以通过设置其绝对位置,或者将一些文本添加到文档中,然后添加图像,然后添加其余文本来移动图像。

+0

添加部分文本,然后是图像,然后是文本的其余部分。 – Kyle 2009-10-09 22:45:50