使用iTextSharp中的填充创建浮动图像,文本在其周围流动

时间:2011-05-17 06:35:45

标签: c# asp.net pdf itextsharp invoice

是否可以在iTextSharp中创建一个文本在其周围流动的浮动图像。我做了以下操作,图像没有插入,只有元素。

        Document doc = new Document();
        PdfWriter.GetInstance(doc, new FileStream(Path, FileMode.Create));
        doc.Open();//open the document
        PdfPTable table = new PdfPTable(6);
        table.WidthPercentage = 80;
        table.HorizontalAlignment = Element.ALIGN_CENTER;//80% centered

        Image imgLogo = Image.GetInstance(Server.MapPath("~/Images/image.png"));
        imgLogo.Alignment = Element.ALIGN_LEFT;
        imgLogo.Alt = "Company has sent you a Invoice";
        PdfPCell cell = new PdfPCell(providerLogo);//added image to cell

        cell.PaddingLeft = 10;//left padding 10px
        cell.AddElement(new Phrase("Company Name"));
        cell.AddElement(new Paragraph("California"));
        cell.Colspan = 3;
        cell.HorizontalAlignment = Element.ALIGN_LEFT;
        table.AddCell(cell);//Added cell with image and text but no Image at all

        cell = new PdfPCell(new Phrase("INVOICE"));
        cell.Colspan = 3;
        table.AddCell(cell);
        doc.Add(table);
        doc.Close();//close the document

有人可以更正代码吗?我需要做些什么来使图像像这个链接Stackoveflow Link

一样浮动

1 个答案:

答案 0 :(得分:2)

我相信PdfPCell是Image或元素容器。但是,一个块(在一个短语或段落中)本身就可以成为一个图像。

还有myImage.setAlignment( Image.TEXTWRAP );

如果除了环绕图像的方形边框之外做了什么,我会感到震惊,但它仍然远远好于。

请注意,这可能无法在PdfPTable中包含,因为它们会执行大部分自己的布局。