我想创建一个pdf,其名称和联系人编号左对齐,并且电子邮件右对齐在itext中与名称相同的行。我该如何实现呢?我应该使用矩形方法吗?如果是,那么应该将哪些值分配给它的参数以将它们放在同一行上?
答案 0 :(得分:3)
使用pdfpTable左右对齐同一行中的文本。以下是您可以遵循的方法。
Document document = new Document(PageSize.A4, 30, 30, 150, 50);
FileOutputStream fos = new FileOutputStream("filepath");
PdfWriter writer = PdfWriter.getInstance(document,fos );
document.open();
Rectangle rect = writer.getPageSize();
float[] columnWidths = {2f, 1f,2.5f};
PdfPTable table = new PdfPTable(columnWidths);
table.setTotalWidth(527);
table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
table.addCell("abc left");
table.addCell("");
table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
table.addCell("abc right");
table.writeSelectedRows(
0, -1, rect.getLeft(30), rect.getTop(20), writer.getDirectContent());
document.close();
答案 1 :(得分:1)
您可以使用包含2列的表格来执行此操作。
将边框设置为不可见的使用:cell.setBorder(Rectangle.NO_BORDER);
要将表格宽度设置为100%,请使用:table.setWidthPercentage(100);