2

我正在尝试使用 itextsharp 创建 Pdf。我添加了一个包含两列的表,其中一列包含文本和其他图像。我想要恒定的图像大小

  1. 如果另一个单元格中的文本增加并且其他单元格中的图像大小不同,我的图像会自动调整大小

      for (int i = 0; i < visitInfo.VisitsiteComplience.Count; ++i)
        {
    
            cellprop.Colspan = 1;
            cellprop.Pharse = visitInfo.VisitsiteComplience[i].Compliencedescription;
            cellprop.BaseColor = null;
            table.AddCell(AddCelltoTable(cellprop));
            yesicon.ScaleAbsolute(35f, 35f);
            noicon.ScaleAbsolute(35f, 35f);
    
            if (visitInfo.VisitsiteComplience[i].Status == "1")
            {
    
                statuscell.AddElement(new Chunk(noicon, 0, 0));
    
            }
            else
            {
    
               // statuscell.AddElement(new Chunk(noicon, 0, 0));
            }
    
    
           statuscell.FixedHeight = 10;
    
    
            //headerLeftCell.Border = PdfPCell.NO_BORDER;
            table.AddCell(statuscell);
        }
    

在此处输入图像描述 2.然后我更改了代码,但现在图像大小增加并占据了整个单元格

     for (int i = 0; i < visitInfo.VisitsiteComplience.Count; ++i)
        {

            cellprop.Colspan = 1;
            cellprop.Pharse = visitInfo.VisitsiteComplience[i].Compliencedescription;
            cellprop.BaseColor = null;
            table.AddCell(AddCelltoTable(cellprop));
            yesicon.ScaleAbsolute(35f, 35f);
            noicon.ScaleAbsolute(35f, 35f);

            if (visitInfo.VisitsiteComplience[i].Status == "1")
            {

                statuscell.AddElement(new Chunk(noicon, 0, 0));

            }
            else
            {

               // statuscell.AddElement(new Chunk(noicon, 0, 0));
            }





            //headerLeftCell.Border = PdfPCell.NO_BORDER;
            table.AddCell(statuscell);
        }

在此处输入图像描述

4

2 回答 2

3

我认为您正在像这样自己缩放图像:noicon.ScaleAbsolute(35f, 35f);

这也让我感到困惑,为什么您要将图像包装在Chunk. 您可以创建一个PdfPCell带有Imageas 参数的 a 以及一个Boolto 定义 iText 是否应该缩放Image. 请参阅iText in Action(我是其作者)一书的第 109 页,并查看第 4 章的 XMen 示例。

于 2013-04-01T13:06:47.067 回答
0
Image image = Image.getInstance("D:/star.png");

PdfPCell cell = new PdfPCell();

cell.setFixedHeight(40f);

cell.addElement(image);

table.addCell(cell);
于 2017-05-10T07:52:21.327 回答