Поместите текст рядом с изображением HTML в PDF, используя itextsharp - PullRequest
3 голосов
/ 03 февраля 2012

Я конвертирую HTML в PDF, используя itextsharp.Я должен разместить текст рядом с изображением, а не под изображением.В HTML я могу разместить текст рядом с изображением, но в PDF текстовая строка начинается после изображения

Пожалуйста, помогите.

Ответы [ 2 ]

10 голосов
/ 03 февраля 2012

Поскольку вы упоминаете HTML, вы понимаете block и inline display, верно? По аналогии, по умолчанию iTextSharp Image отображает block . Для встроенных Image объектов вам необходимо:

  1. Добавление изображений к Chunk объекту (ам)
  2. Добавить текст в Phrase объект (ы)
  3. Затем добавьте эти объекты к Paragraph объекту

Примерно так:

Image image = Image.GetInstance(imagePath);  
Paragraph p = new Paragraph();
p.Add(new Phrase("Text next to the image "));
p.Add(new Chunk(image, 0, 0));
p.Add(new Phrase(" and text after the image.")); 
document.Add(p);

Замените imagePath выше на физический путь к вашему изображению

2 голосов
/ 22 июня 2012

Вы можете попробовать следующий пример кода.

Image jpg = Image.GetInstance(imagepath + "/Sunset.jpg");
Paragraph paragraph = new Paragraph(@"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse blandit blandit turpis. Nam in lectus ut dolor consectetuer bibendum. Morbi neque ipsum, laoreet id; dignissim et, viverra id, mauris. Nulla mauris elit, consectetuer sit amet, accumsan eget, congue ac, libero. Vivamus suscipit. Nunc dignissim consectetuer lectus. Fusce elit nisi; commodo non, facilisis quis, hendrerit eu, dolor? Suspendisse eleifend nisi ut magna. Phasellus id lectus! Vivamus laoreet enim et dolor. Integer arcu mauris, ultricies vel, porta quis, venenatis at, libero. Donec nibh est, adipiscing et, ullamcorper vitae, placerat at, diam. Integer ac turpis vel ligula rutrum auctor! Morbi egestas erat sit amet diam. Ut ut ipsum? Aliquam non sem. Nulla risus eros, mollis quis, blandit ut; luctus eget, urna. Vestibulum vestibulum dapibus erat. Proin egestas leo a metus?");
paragraph.Alignment = Element.ALIGN_JUSTIFIED;
jpg.ScaleToFit(250f, 250f);
jpg.Alignment = Image.TEXTWRAP | Image.ALIGN_RIGHT;
jpg.IndentationLeft = 9f;
jpg.SpacingAfter = 9f;
jpg.BorderWidthTop = 36f;
jpg.BorderColorTop = Color.WHITE;
doc.Add(jpg);
doc.Add(paragraph);

источник: http://www.mikesdotnetting.com/Article/87/iTextSharp-Working-with-images

Mikesdotnetting

...