我使用itextsharp将html转换为pdf。我必须将文字放在图像旁边的图像旁边。在html中,我可以将文本放在图像旁边,但是在文本文本行在图像后开始使用itextsharp在图片html旁边放置文本
请帮忙。
我使用itextsharp将html转换为pdf。我必须将文字放在图像旁边的图像旁边。在html中,我可以将文本放在图像旁边,但是在文本文本行在图像后开始使用itextsharp在图片html旁边放置文本
请帮忙。
既然你提到HTML,你明白块和在线显示,对不对?通过类推,iTextSharp的默认Image
显示为块。为了直列Image
对象,你需要:
Chunk
对象(S)Phrase
对象(S)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
替换为您的映像的物理路径
但我直接从html图像标记使用 – user634036 2012-02-04 06:27:02
转换PDF我使用HTmlWorker.ParseToList metod来贴上html 标记。然后如何在代码背后的逻辑。 – user634036 2012-02-04 06:29:19
使用[XmlWorker](http://demo.itextsupport.com/xmlworker/itextdoc/flatsite.html)。那么你没有关于图像的块/内联问题;图像默认显示为**内联**。但是你必须设置一个'ImageProvider'来解释:[1]相对图像URL,[2] iText [Sharp]处理图像大小的方式。请参阅本**提交开始时链接中提供的文档。 – kuujinbo 2012-02-06 11:54:59
您可以尝试以下代码示例。
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
在HTML解析iTextSharp的支持是非常有限的取决于你怎么做。如果您提供代码示例,我们可能会帮助您更多。否则,简单的解决方案就是使用HTML表格。 – 2012-02-03 14:17:53