簡體   English   中英

如何在Java中使用itext在pdf文檔的最后一頁底部創建表

[英]how to create table in pdf document last page bottom using itext in java

我已經在Java中使用itext在pdf文檔中創建了表格。 在功能方面做得很好。 但是我需要將表格顯示為文檔的下方。

這是我的代碼

PdfPTable datatablebottom = new PdfPTable(8);
            PdfPCell cell = new PdfPCell();
            cell.setBorder(Rectangle.NO_BORDER);
            cell.setColspan(8);
            cell.setBackgroundColor(BaseColor.GRAY);
            cell.setBorderWidthTop(5.0f);
            cell.setBorderColorTop(BaseColor.DARK_GRAY);

            if(msgfb.equals("1")){
                //document.add(new Paragraph(""));
                cell.addElement(new Paragraph(""));
            }else if(msgfb.equals("2")){
                //document.add(new Paragraph("Thank you for your business"));
                Paragraph pf = new Paragraph("Thank you for your business Thanks for your bussiness Thanks for your bussiness Thanks for your bussiness Thanks for your bussiness Thanks for your bussiness Thanks for your bussiness",BT_NORMAL);
                pf.setAlignment(Element.ALIGN_CENTER);
                cell.addElement(pf);
            }else{
                //document.add(new Paragraph(msgfb));
                Paragraph pf = new Paragraph(msgfb,BT_NORMAL);
                pf.setAlignment(Element.ALIGN_CENTER);
                cell.addElement(pf);
                //cell.addElement(new Paragraph(msgfb,BT_NORMAL));
            }
            cell.setPaddingBottom(10.0f);
            datatablebottom.addCell(cell);
            datatablebottom.setTotalWidth(PageSize.A4.getWidth()-70);
            datatablebottom.setLockedWidth(true);
            document.add(datatablebottom);

您需要定義表格的絕對寬度:

datatable.setTotalWidth(document.right(document.rightMargin()) - document.left(document.leftMargin()));

然后,您需要替換該行:

document.add(datatablebottom);

與此:

datatable.writeSelectedRows(0, -1, document.left(document.leftMargin()), datatable.getTotalHeight() + document.bottom(document.bottomMargin()), writer.getDirectContent());

writeSelectedRows()方法將表繪制在絕對位置。 我們通過詢問document的左邊緣(x值)並將表格的高度添加到文檔的底部邊緣(Y坐標)來計算該位置。 我們繪制所有行(0到-1)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM