繁体   English   中英

使用带有动态页眉和页脚的 itext7 将 HTML 模板转换为 PDF

[英]Convert HTML Template to PDF using itext7 with dynamic header & footer

我尝试使用以下 HTML 模板使用 iText7 将其转换为 PDF,但页眉和页脚均未绑定到其预期位置。 使用的示例我试图避免@Page 页眉和页脚属性,因为我试图在两个部分中完成拟合动态内容,每个部分的扩展空间超过 3 行。

iText 代码和结果:

ConverterProperties properties = new ConverterProperties();
//properties.setFontProvider(fontProvider);
properties.setMediaDeviceDescription(new MediaDeviceDescription(MediaType.PRINT));
PdfWriter writer = new PdfWriter("out.pdf");
PdfDocument pdf = new PdfDocument(writer);
pdf.setTagged();
PageSize pageSize = PageSize.LETTER;
pdf.setDefaultPageSize(pageSize);

OutlineHandler outlineHandler = OutlineHandler.createStandardHandler();
properties.setOutlineHandler(outlineHandler);

//html template (templateOutput)
HtmlConverter.convertToPdf(templateOutput, pdf, properties);
byte[] pdfData = byteArrayOutputStream.toByteArray();
pdf.close();

没有页眉和页脚的第二页第一页

请问有什么建议可以解决这个问题吗? 谢谢

以下是pdfHTML正确处理的 HTML 示例,并且多行标题按预期完全显示在页面顶部:

<!DOCTYPE html>
<html>

<head>
    <style>
        #header {
            position: running(header);
        }

        @page {
            margin-top: 100px;
            @top-center {
                content: element(header);
            }
        }
    </style>
</head>

<body>

<div id="header">Header line 1<br/>Header line 2<br/>Header line 3</div>

<p>Content of the page</p>

</body>
</html>

页面在生成的 PDF 中如下所示:

结果

暂无
暂无

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

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