页脚未显示在iTextSharp v4中

时间:2016-11-15 17:15:38

标签: c# itext

我正在尝试从HTML创建PDF,并且正在使用iTextSharp。从我的阅读中,涵盖较新版iTextSharp的许可证要求我提供源代码。我们无法做到这一点,所以我们正在使用LGPL下的第4版。

我试图让页脚与HTML一起显示,但由于某些原因它不起作用。我尝试删除HTML并只使用文本。只需在页脚中放入一大块。多页与单页。希望我只是遗漏了一些简单的东西,但从我看到的例子来看,它应该非常简单。

    using (MemoryStream ms = new MemoryStream())
    {
        Document doc = new Document(PageSize.LETTER, 35,35,35,70);

        var font = FontFactory.GetFont("arial", 8f);
        font.Color = Color.BLACK;
        var chunk = new Chunk("Footer", font);
        var phrase = new Phrase(chunk);
        var footer = new HeaderFooter(phrase, true);
        footer.Alignment = 1;
        footer.Border = Rectangle.NO_BORDER;
        doc.Footer = footer;

        //doc.Footer = new HeaderFooter(new Phrase("Footer"),false);
        var writer = PdfWriter.GetInstance(doc, ms);
        var htmlWorker = new HTMLWorker(doc);
        using (var sr = new StringReader(html))
        {
            doc.Open();
            doc.Add(new Chunk("Text"));
            //htmlWorker.Parse(sr);
            doc.Close();
        }
        return ms.ToArray();
    }

1 个答案:

答案 0 :(得分:0)

观看您的HeaderFooter ctor。您正在使用的签名可能会导致仅设置标题文本。

无论如何也许可以使用PdfWriter.PageEvent和一些派生自PdfPageEventHelper的类来实现页眉和页脚(而不是HeaderFooter())