首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iText中的一个单元格中添加两个图像?

如何在iText中的一个单元格中添加两个图像?
EN

Stack Overflow用户
提问于 2015-11-09 06:02:01
回答 1查看 5.5K关注 0票数 2

我目前正在创建一个生成PDF的系统。但是,我不能在一个细胞里放两张-三张照片。我试着把它循环起来,但它有边界。我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-09 12:07:02

请看一下ImagesInCell示例。它使用三幅图像:

代码语言:javascript
运行
复制
public static final String IMG1 = "resources/images/brasil.png";
public static final String IMG2 = "resources/images/dog.bmp";
public static final String IMG3 = "resources/images/fox.bmp";

这些是图像实例:

代码语言:javascript
运行
复制
Image img1 = Image.getInstance(IMG1);
Image img2 = Image.getInstance(IMG2);
Image img3 = Image.getInstance(IMG3);

向单个单元格添加多个图像的最简单方法是多次使用addElement

代码语言:javascript
运行
复制
PdfPTable table = new PdfPTable(1);
table.setWidthPercentage(50);
table.addCell("Different images, one after the other vertically:");
PdfPCell cell = new PdfPCell();
cell.addElement(img1);
cell.addElement(img2);
cell.addElement(img3);
table.addCell(cell);
document.add(table);

结果如下:

如您所见,图像被自动缩放,以适应单元格的宽度。如果这不是你想要的,你必须改进你的问题,因为你只能声称你不能在同一个单元格中添加三个图像,而这个简单的例子正好相反。

也许你想要像这样的东西:

在带有图像的第一行中,我们使用与前面相同的addElement()方法,但是我们将图像的宽度百分比更改为20%:

代码语言:javascript
运行
复制
cell = new PdfPCell();
img1.setWidthPercentage(20);
cell.addElement(img1);
img2.setWidthPercentage(20);
cell.addElement(img2);
img3.setWidthPercentage(20);
cell.addElement(img3);
table.addCell(cell);

在包含图像的第二行中,我们使用了一种不同的方法:我们在Chunk对象中封装了图像,这样我们就可以将它们放在彼此的旁边:

代码语言:javascript
运行
复制
Paragraph p = new Paragraph();
img1.scalePercent(30);
p.add(new Chunk(img1, 0, 0, true));
p.add(new Chunk(img2, 0, 0, true));
p.add(new Chunk(img3, 0, 0, true));
cell = new PdfPCell();
cell.addElement(p);
table.addCell(cell);

观察到我缩放了第一张图像。如果这三幅图像保持原来的大小,那么这三幅图像就不会彼此匹配。

将图像包装在Chunk中的优点是我们可以混合图像和文本:

代码语言:javascript
运行
复制
p = new Paragraph("The quick brown ");
p.add(new Chunk(img3, 0, 0, true));
p.add(" jumps over the lazy ");
p.add(new Chunk(img2, 0, 0, true));
cell = new PdfPCell();
cell.addElement(p);
table.addCell(cell);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33603296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档