Выравнивание изображения в тексте?

Используя 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). Кто-нибудь знает, как бы я сделал это через 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"));

Но он отображался с изображением вверху и текстом под ним. Эффекта переноса текста не было.


person Kyle    schedule 20.09.2009    source источник


Ответы (1)


Объекты Phrase и Paragraph ведут себя по-разному. Попробуйте изменить на:

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

Ваше изображение отображалось вверху страницы, потому что оно было первым, что было добавлено в документ, а текст был добавлен после него. Вы можете переместить изображение вниз, либо установив его абсолютное положение, либо добавив часть текста в документ, затем добавив изображение, а затем добавив остальную часть текста.

person Stewbob    schedule 06.10.2009
comment
Добавление части текста, затем изображения, затем остального текста сработало. - person Kyle; 10.10.2009