2014-07-11 67 views
0

我想要創建一個名稱和聯繫電話號碼左對齊並且電子郵件右對齊與itext中的名稱相同的行的pdf。我怎樣才能實現呢?我應該使用矩形方法嗎?如果是的話,那麼應該給它的參數分配什麼值以將它們放在同一條線上?文本左對齊的一部分和其他右對齊itext中的同一行

+0

您可以使用表2列這樣做。 – Jens

+0

@Jens是否有辦法隱藏其邊框線並將其擴展爲頁面大小? – user3819936

+0

是的,你可以設置單元格的邊框屬性:'cell.setBorder(Rectangle.NO_BORDER);',你可以設置表格寬度'table.setWidthPercentage(100);' – Jens

回答

1

您可以使用一個有2列的表來做到這一點。

邊境設置爲unvisible使用:cell.setBorder(Rectangle.NO_BORDER); 並設置表格的寬度爲100%使用:table.setWidthPercentage(100);

2

使用pdfTable來左右排列同一行中的文本。以下是您可以遵循的方法。

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(); 
相關問題