水平拆分PDF部分

时间:2018-03-16 11:34:37

标签: java android image pdf itext

Click Here for Image Reference

我正在使用iTextG 5.5.8和Android。我必须将部分pdf分成两个水平视图。我不能使用 PdfPTable ,因为我希望左侧完全是一个图像而右侧完全是一个表。另外,我必须以25mm * 12mm的尺寸呈现图像。任何人都可以把我隐藏在正确的道路上来实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

有两种简单的方法可以实现这一目标:

一个使用rowspan的表

假设您已将图片加载到Image image并添加到Document document

PdfPTable table = new PdfPTable(new float[]{2,1,1});

PdfPCell imageCell = new PdfPCell(image);
imageCell.setRowspan(4);
imageCell.setVerticalAlignment(PdfPTable.ALIGN_CENTER);
table.addCell(imageCell);

PdfPCell cell = new PdfPCell(new Phrase("Address1"));
cell.setBorder(Rectangle.TOP | Rectangle.LEFT);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Contact Number"));
cell.setBorder(Rectangle.TOP | Rectangle.RIGHT);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Address2"));
cell.setBorder(Rectangle.LEFT);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Fax"));
cell.setBorder(Rectangle.RIGHT);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Address3"));
cell.setBorder(Rectangle.LEFT);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Pin Code"));
cell.setBorder(Rectangle.RIGHT);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Address4"));
cell.setBorder(Rectangle.BOTTOM | Rectangle.LEFT);
table.addCell(cell);
cell = new PdfPCell(new Phrase(""));
cell.setBorder(Rectangle.BOTTOM | Rectangle.RIGHT);
table.addCell(cell);

document.add(table);

CreateTable test testSureshOneTableRowspan

两张桌子

再次假设您已将图片加载到Image image并添加到Document document

PdfPTable innerTable = new PdfPTable(2);

PdfPCell cell = new PdfPCell(new Phrase("Address1"));
cell.setBorder(0);
innerTable.addCell(cell);
cell = new PdfPCell(new Phrase("Contact Number"));
cell.setBorder(0);
innerTable.addCell(cell);
cell = new PdfPCell(new Phrase("Address2"));
cell.setBorder(0);
innerTable.addCell(cell);
cell = new PdfPCell(new Phrase("Fax"));
cell.setBorder(0);
innerTable.addCell(cell);
cell = new PdfPCell(new Phrase("Address3"));
cell.setBorder(0);
innerTable.addCell(cell);
cell = new PdfPCell(new Phrase("Pin Code"));
cell.setBorder(0);
innerTable.addCell(cell);
cell = new PdfPCell(new Phrase("Address4"));
cell.setBorder(0);
innerTable.addCell(cell);
cell = new PdfPCell(new Phrase(""));
cell.setBorder(0);
innerTable.addCell(cell);

PdfPTable table = new PdfPTable(2);

PdfPCell imageCell = new PdfPCell(image);
imageCell.setVerticalAlignment(PdfPTable.ALIGN_CENTER);
table.addCell(imageCell);

table.addCell(innerTable);

document.add(table);

CreateTable test testSureshTwoTables