C# 来自html的iTextSharp XMLWorker页脚

C# 来自html的iTextSharp XMLWorker页脚,c#,itextsharp,xmlworker,C#,Itextsharp,Xmlworker,我到处找这个问题,但仍然找不到有效的解决方案,这很烦人 我使用xmlworker(itextsharp 2.1)从html创建pdf。这对我来说非常有效,但我需要在每个被传递的html填充的页面中添加页脚和页眉。在示例中,我将此字符串作为页脚html传递给函数 <table> <tr> <td>كند / źćąśęłżźń</td> <td>something</td>

我到处找这个问题,但仍然找不到有效的解决方案,这很烦人

我使用xmlworker(itextsharp 2.1)从html创建pdf。这对我来说非常有效,但我需要在每个被传递的html填充的页面中添加页脚和页眉。在示例中,我将此字符串作为页脚html传递给函数

<table>
    <tr>
        <td>كند / źćąśęłżźń</td>
        <td>something</td>
        <td><img src="i_03_x2.png"/></td>
    </tr>
</table>
使用我的处理程序和字体?ParseXHtml函数有多个重载,但我必须使用DirectHandler作为IEElement处理程序,使用MY FONT(arialuni.ttf)作为字体提供程序。
任何帮助都将不胜感激

好的,我首先解决了这个问题-我需要完全退出ParseXHtml函数。我将标准XMLWorker用于此管道:

PdfWriterPipeline pdf = new ElementHandlerPipeline(handler, null)
而不是默认值:

PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer);
然后,我能够在处理程序中迭代元素

foreach (var element in handler.elements)
{
    singleCell.AddElement(element);
}

footerTable.AddCell(singleCell);

你能稍微修改一下HTML以获得字体信息吗?如果是的话。如果无法更改HTML,则在
for
循环中设置字体。在循环中设置字体仅适用于段落,而其他元素(假设我们使用XMLWorker而不是HTMLWorker)则不适用。我有一个带有字体的外部样式表,但在这里我遇到了同样的问题-我无法将其添加到ParseXHtml函数中。我想这就是您正在寻找的:
PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer);
foreach (var element in handler.elements)
{
    singleCell.AddElement(element);
}

footerTable.AddCell(singleCell);