我正在尝试从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();
}
答案 0 :(得分:0)
观看您的HeaderFooter ctor。您正在使用的签名可能会导致仅设置标题文本。
无论如何也许可以使用PdfWriter.PageEvent和一些派生自PdfPageEventHelper的类来实现页眉和页脚(而不是HeaderFooter())