.net 使用ConvertToElements将HTML转换为PDF时,iText读取HTML标记

svujldwt  于 2023-07-01  发布在  .NET
关注(0)|答案(1)|浏览(130)

我想用iText7创建一个TOC,我的文档由多个HTML字符串组成。当我用HtmlConverter.ConvertToElements解析这个字符串时,我想检查foreach元素是否是H1,以便将其添加到TOC中,但我很难做到这一点。无法从元素的DefaultAccessibilityProperties获取角色。
我想要的信息在tagProperties.role

5n0oy7gb

5n0oy7gb1#

我做到了。将元素转换为div,然后通过Role获取标记名。

var div = element as Div;
if (div.GetAccessibilityProperties().GetRole() == "H1") title = true;

和额外的helper来从元素中获取内容,以填充TOC:

private static string GetContent(IElement element)
{
    var builder = new StringBuilder();
    if (element is Text) builder.Append(((Text)element).GetText());
    if (element is IAbstractElement)
        foreach (var child in (element as IAbstractElement).GetChildren())
            builder.Append(GetContent(child));
    return builder.ToString();
}

相关问题