C# itext7 pdfHTML添加没有PAC工具警告的页面标题

C# itext7 pdfHTML添加没有PAC工具警告的页面标题,c#,itext7,C#,Itext7,我将使用itext7创建可访问性pdf。在html文件中使用标记添加页面标题时,它会收到警告,“可能不适当地使用了P结构元素”。原因是iText正在标记内添加额外的标记。 HTML代码: <!DOCTYPE html> <html> <body> <h1>Title</h1> </body> </html> 标题 当我使用iText7 pdfHTML

我将使用itext7创建可访问性pdf。在html文件中使用标记添加页面标题时,它会收到警告,“可能不适当地使用了P结构元素”。原因是iText正在标记内添加额外的标记。 HTML代码:

<!DOCTYPE html>
    <html>
      <body>
         <h1>Title</h1>
      </body>
    </html>

标题
当我使用iText7 pdfHTML插件生成pdf时,它显示如下

<h1><p><span>Title
标题
标签是产生警告的原因。 然后返回PAC工具警告。不想得到任何警告,应该是

<h1><span>Title
标题
请帮我解决这个问题。
提前感谢

如果需要,您可以自定义相应的标记工作程序。您可以获得由标记工作程序生成的结果布局元素并对其进行操作。特别是,如果需要,可以显式指示元素不在标记结构树中创建节点


因此,对于您的示例,布局元素的结构大致为
Div,非常感谢Alexey。这对我很有用,真的很有帮助。
private static class CustomH1TagWorker extends HTagWorker {
    public CustomH1TagWorker(IElementNode element, ProcessorContext context) {
        super(element, context);
    }

    @Override
    public IPropertyContainer getElementResult() {
        IPropertyContainer baseResult = super.getElementResult();
        if (baseResult instanceof BlockElement && ((BlockElement) baseResult).getChildren().size() == 1
             && ((BlockElement) baseResult).getChildren().get(0) instanceof Paragraph) {
            ((Paragraph) ((BlockElement) baseResult).getChildren().get(0)).getAccessibilityProperties().setRole(null);
        }
        return baseResult;
    }
}
ConverterProperties properties = new ConverterProperties();

properties.setTagWorkerFactory(new DefaultTagWorkerFactory() {
    @Override
    public ITagWorker getCustomTagWorker(IElementNode tag, ProcessorContext context) {
        if (TagConstants.H1.equals(tag.name())) {
            return new CustomH1TagWorker(tag, context);
        }
        return super.getCustomTagWorker(tag, context);
    }
});

HtmlConverter.convertToPdf(inputStream, pdfDocument, properties);