2009-09-20 1 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?

Edit:

Я также попытался

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")); 

Но она экспонировалась с изображением в верхней части и текст под ним. В действительности не было текстовой обертки.

ответ

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