简体   繁体   English

itext pdf:如何将元素定位在页脚上方

[英]itext pdf : how to position element above footer

I am trying to generate pdf file using itext.我正在尝试使用 itext 生成 pdf 文件。 I need to add an element(Paragraph) above footer in the last page.我需要在最后一页的页脚上方添加一个元素(段落)。 I don't know how to position the element in that position.我不知道如何将元素定位在那个位置。

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.ExceptionConverter;
import com.lowagie.text.Image;
import com.lowagie.text.Phrase;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfPageEventHelper;
import com.lowagie.text.pdf.PdfWriter;

public class PdfHeaderDecorator extends PdfPageEventHelper
{

  public PdfHeaderDecorator()
  {
    super();
  }

  public void onEndPage(PdfWriter writer, Document document)
  {
    PdfPTable tableF = new PdfPTable(3);

    try
    {

      tableF.setWidths(new int[]
      { 24, 24, 2 });
      tableF.setTotalWidth(527);
      tableF.setLockedWidth(true);
      tableF.getDefaultCell().setFixedHeight(9);
      tableF.getDefaultCell().setBorder(Rectangle.BOTTOM);
      tableF.addCell(new Phrase("SOME Text"));
      tableF.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
      tableF.addCell(new Phrase(String.format("page %d ", writer.getPageNumber())));
      PdfPCell cell = new PdfPCell(new Phrase("bla bla bla"));
      cell.setBorder(Rectangle.BOTTOM);
      tableF.addCell(cell);
      tableF.writeSelectedRows(0, -1, 34, 30, writer.getDirectContent());

    }
    catch (DocumentException de)
    {
      throw new ExceptionConverter(de);
    }
  }
}

And add your header decorator to page event并将您的标题装饰器添加到页面事件

pdfWriter.setPageEvent(new PdfHeaderDecorator());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM