【问题标题】:Create Table in Itext Pdf in java在java中的Itext Pdf中创建表
【发布时间】:2015-10-30 16:07:29
【问题描述】:

我正在使用 itext 在 Java 中创建一个 PDF 表。我想把它放在右上角。 这是我的代码 sn-p。当我执行下面的代码时,表格在 pdf 的右下角对齐,但我希望它在右上角。

PdfPTable table = new PdfPTable(1);
table.setHorizontalAlignment(Element.ALIGN_RIGHT);
table.setWidthPercentage(160 / 5.23f);
PdfPCell cell = new PdfPCell(new Phrase(" Date" , NORMAL));
cell.setBackgroundColor(BaseColor.BLACK);
cell.setBorderWidth(2f);
table.addCell(cell);
PdfPCell cellTwo = new PdfPCell(new Phrase("10/01/2015"));
cellTwo.setBorderWidth(2f);
table.addCell(cellTwo);

【问题讨论】:

    标签: itext


    【解决方案1】:

    您省略了实际将表格添加到文档的行。

    假设你有:

    document.add(table);
    

    在这种情况下,iText 会将其添加到光标的当前位置。如果还没有添加内容,表格将被添加到右上角。右上角是由上边距和右边距决定的,但如果不为0,你可能会有表格没有添加到右上角的印象。

    您还可以:

    PdfContentByte canvas = writer.getDirectContent();
    table.writeSelectedRows(0, -1, document.right() - tablewidth, document.top(), canvas);
    

    但是,在这种情况下,您必须以不同的方式定义表格的宽度:

    table.setTotalWidth(tableWidth);
    

    我不知道您希望您的桌子有多宽。您正在使用一个相当奇怪的公式来定义宽度百分比。

    如果这不能回答您的问题,请通过更新您的问题来澄清。目前,还不完全清楚你在做什么。您的问题无法重现。请参阅RightCornerTable 示例:

    如果我的眼睛没有骗我,当我使用你的代码 sn-p 时,表格显示在右上角,而不是你声称的右下角......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多