包含内容的页眉和页脚,itextpdf

时间:2017-03-12 13:41:56

标签: itext

我的问题是当我尝试在pdf中添加内容时,我的表从头开始而不是在标题下方,我的内容表有不正确的高度

代码很长,我无法上传图片,但我有一个带分页的页眉和页脚

看起来它只是在我的桌面上添加一个内容空间,但我不知道该怎么做,我认为我的问题在于汇总方法

private void addHeader(PdfWriter writer) {
    PdfPTable tableHeader = new PdfPTable(2);
    try {
        // set default
        tableHeader.setWidths(new int[] { 2, 24 });
        tableHeader.setTotalWidth(527);
        tableHeader.setLockedWidth(true);
        tableHeader.getDefaultCell().setFixedHeight(40);
        tableHeader.getDefaultCell().setBorder(Rectangle.BOTTOM);
        tableHeader.getDefaultCell().setBorderColor(BaseColor.LIGHT_GRAY);
        // addImage
        Image img = Image.getInstance(getClass().getClassLoader().getResource("imgPDF/logo.png"));
        tableHeader.addCell(img);
        // addText
        PdfPCell text = new PdfPCell();
        text.setPaddingBottom(15);
        text.setPaddingLeft(10);
        text.setBorder(Rectangle.BOTTOM);
        text.setBorderColor(BaseColor.LIGHT_GRAY);
        text.addElement(new Phrase(cve.getId(), new Font(Font.FontFamily.HELVETICA, 13)));
        text.addElement(new Phrase("https://myapp.com", new Font(Font.FontFamily.HELVETICA, 10)));
        tableHeader.addCell(text);
        // write content
        tableHeader.writeSelectedRows(0, -1, 34, 803, writer.getDirectContent());

    } catch (DocumentException e) {
        throw new ExceptionConverter(e);
    } catch (MalformedURLException e) {
        throw new ExceptionConverter(e);
    } catch (IOException e) {
        throw new ExceptionConverter(e);
    }

private void summary() throws IOException, DocumentException {
    PdfPTable table = new PdfPTable(2);
    table.setHeaderRows(0);
    table.setWidthPercentage(100);
    table.setSpacingBefore(15);
    table.setTotalWidth(100);

    // Add headers
    table.addCell(createHeaderCellWithColor("Summary"));
    table.addCell(createHeaderCellWithColor("ACCESS"));
    table.addCell(createCell("row 1"));
    table.addCell(createCell("row 2"));
    table.addCell(createCell("row 3"));

    PdfPTable table3 = new PdfPTable(3);
    PdfPCell cell = new PdfPCell(new Phrase("aaa"));
    cell.setColspan(3);
    table3.addCell(cell);

    table.addCell(createHeaderCellWithColor("IMPACT"));

    document.add(table);

有了这个,我基本上解决了,

document = new Document (PageSize.A4, 36, 36, 90, 36);

虽然我想下载更多内容,但这并不是很接近标题

1 个答案:

答案 0 :(得分:1)

以前这个方法的参数等于15,使得内容低于标题,这更加分离,,,简单地等于填充

使用

解决
text.setPaddingBottom(8);