C# 在表格单元格中如何停止iText7图像切断
我正在尝试使用iText7创建一个PDF,其中包含存储在图像和相应数字中的问题。数字和图像必须保持在同一页上,因此我使用表对象将它们保持在一起;但是,图像会从页面边缘溢出C# 在表格单元格中如何停止iText7图像切断,c#,.net,itext,itext7,C#,.net,Itext,Itext7,我正在尝试使用iText7创建一个PDF,其中包含存储在图像和相应数字中的问题。数字和图像必须保持在同一页上,因此我使用表对象将它们保持在一起;但是,图像会从页面边缘溢出 Table table = new Table(UnitValue.CreatePercentArray(8)).UseAllAvailableWidth(); Cell cellQuestionNumber = new Cell().Add(questionNum).SetBorder(Border.NO_BORDER);
Table table = new Table(UnitValue.CreatePercentArray(8)).UseAllAvailableWidth();
Cell cellQuestionNumber = new Cell().Add(questionNum).SetBorder(Border.NO_BORDER);
Cell cellImage = new Cell().Add(img).SetBorder(Border.NO_BORDER);
table.AddCell(cellQuestionNumber);
table.AddCell(cellImage);
document.Add(table);
我见过一些人在图像上使用.SetAutoScaleWidth(true)
,但当我这样做时,图像会缩小到难以置信的无法读取的大小。
. .
有什么提示吗?这里不需要使用表-您可以将要保留在一页中的元素添加到
Div
中,然后使用setKeepTogether(true)
属性来防止将Div
拆分到两页上
要确保图像占用的宽度不超过页面的宽度,可以将其最大宽度属性设置为100%
下面是一个代码示例:
Image image = new Image(ImageDataFactory.create("C:\\Users\\Alexey\\Desktop\\Capture.PNG"));
Div div = new Div();
div.add(new Paragraph("#1.)"));
div.add(image.setMaxWidth(UnitValue.createPercentValue(100)));
div.setKeepTogether(true);
document.add(div);