IText7 html2pdf页脚CSS不起作用

时间:2017-12-11 09:07:09

标签: html css itext itext7

我无法在下面的HTML和CSS中看到结果PDF中的页脚。此代码适用于 IText版本2

IText版本7 中是否更改了显示页眉和页脚的方式?或者我是否遗漏了较新版本所需的任何配置?

感谢。

Java代码

public void createPdf(String src, String dest, String resources) throws IOException {
try {
        FileOutputStream outputStream = new FileOutputStream(dest);

        WriterProperties writerProperties = new WriterProperties();
        //Add metadata
        writerProperties.addXmpMetadata();

        PdfWriter pdfWriter = new PdfWriter(outputStream, writerProperties);

        PdfDocument pdfDoc = new PdfDocument(pdfWriter);
        pdfDoc.getCatalog().setLang(new PdfString("en-US"));

        // pdf conversion
        ConverterProperties props = new ConverterProperties();

        MediaDeviceDescription mediaDeviceDescription =
            new MediaDeviceDescription(MediaType.PRINT);
        props.setMediaDeviceDescription(mediaDeviceDescription);

        HtmlConverter.convertToPdf(new FileInputStream(src), pdfDoc, props);
        pdfDoc.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

Html内容

<html>
<head>
    <meta charset="UTF-8"/>

    <style type="text/css" media="print">

        #footer {
            display: block;
            position: running(footer);
            color:gray;
            font-size: 50%
        }

        @page {
            @bottom-center {
                content: element(footer);
            }
            margin-bottom : 1in;
            size: 6in 6in;
        }


    </style>
</head>
<body>
<div id="footer">
This is the text that goes at the bottom of every page.
</div>

....
..
.
</body>
</html>

1 个答案:

答案 0 :(得分:1)

你正在做正确的事。它并不适合您,因为仅在最新版本 iText 7.1.2 中添加了运行元素(position: running(..)content: element(..)属性)支持。它于4月底发布。