c# – itextsharp和图像大小
发布时间:2020-12-15 18:15:32 所属栏目:百科 来源:网络整理
导读:我在单独的单元格中创建了一个包含6个图像的单个pdf页面,即使我在服务器端设置的图像高度和宽度与ScaleToFit完全相同,但是在pdf页面上的图像大小也不相同. 反正有没有让所有图像完全相同的尺寸? PdfPTable table = new PdfPTable(3);table.HorizontalAlignm
我在单独的单元格中创建了一个包含6个图像的单个pdf页面,即使我在服务器端设置的图像高度和宽度与ScaleToFit完全相同,但是在pdf页面上的图像大小也不相同.
反正有没有让所有图像完全相同的尺寸? PdfPTable table = new PdfPTable(3); table.HorizontalAlignment = Element.ALIGN_CENTER; table.WidthPercentage = 100; table.TotalWidth = 698.5f; table.LockedWidth = true; table.SetWidths(new float [] {1,1,1}); iTextSharp.text.Image img1 = iTextSharp.text.Image.GetInstance("C:UsersDaNetDownloadsimage.jpg"); img1.Alignment = iTextSharp.text.Image.ALIGN_CENTER; img1.ScaleToFit(120f,155.25f); iTextSharp.text.pdf.PdfPCell imgCell1 = new iTextSharp.text.pdf.PdfPCell(img1); imgCell1.HorizontalAlignment = Element.ALIGN_CENTER; imgCell1.BackgroundColor = new BaseColor(255,255,255); imgCell1.Border = iTextSharp.text.Rectangle.NO_BORDER; table.AddCell(imgCell1); 解决方法
两件事情.
首先,请参阅this post关于将图像包装在块中.基本上: iTextSharp.text.pdf.PdfPCell imgCell1 = new iTextSharp.text.pdf.PdfPCell(); imgCell1.AddElement(new Chunk(img1,0)); 其次,如果你想要完全相同的大小,那么你想使用ScaleAbsolute而不是ScaleToFit.后者保持图像的纵横比,因此缩放到50×50的100×200图像将显示为25×50. img1.ScaleAbsolute(120f,155.25f); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |