HTMLからPDFを作成しようとしていますが、iTextSharpを使用しています。私の読んだところでは、iTextSharpの新しいバージョンをカバーするライセンスでは、ソースコードを利用できるようにする必要があります。私たちはそれをすることはできないので、LGPLの下にあるバージョン4を使用しています。iTextSharpでフッタが表示されないv4
私はフッタを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();
}
()の代わりにHeaderFooterの()ヘッダーとフッターを実装するためにPdfPageEventHelperからPdfWriter.PageEventといくつかのクラスの導出を使用html2pdf変換用iTextの新しいバージョンで利用できる 'XMLWorker'を使うべきです。つまり、あなた自身のソース*を開示することを意味するAGPLライセンス(既にStack Overflowであなたのソースの一部を開示しています)*、または商用ライセンスを購入してソースを開示しないでiTextをアップグレードすることを意味します。あなたもどちらかをしたくないので、あなたの質問は*近所には不可能です*答えることです。すみません、カイル。 –
@AmedeeVanGasse iText 4にHeaderFooterクラスがあり、iText 4でフッターを作成する方法について説明していますが、iText 4でフッターを作成する方法はありません。私はあなたを信じません。 –
いいえ、私はまったくそれを言っているわけではありません。 iTextSharp 4.1.6が2009年にiText(Sharp)5に取って代わられ、2011年に 'HTMLWorker'が' XMLWorker'に取って代わられたので、あなたは時代遅れの技術を使用しています。 –