我正在使用iTextG 5.5.8和Android。我必须将部分pdf分成两个水平视图。我不能使用 PdfPTable ,因为我希望左侧完全是一个图像而右侧完全是一个表。另外,我必须以25mm * 12mm的尺寸呈现图像。任何人都可以把我隐藏在正确的道路上来实现这个目标吗?
答案 0 :(得分:1)
有两种简单的方法可以实现这一目标:
假设您已将图片加载到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
)