Java itext pdf生成在解析某些html标记时失败

Java itext pdf生成在解析某些html标记时失败,java,html,pdf,html-parsing,itext,Java,Html,Pdf,Html Parsing,Itext,我有这个html代码,它驻留在db中,我想用pdf解析它。 我正在使用itext生成pdf。 以下是数据库中的html: <p>no note.</p><br> <ul><br> <li><strong>section</strong></li><br> </ul><br> <ol><br> <li>first<

我有这个html代码,它驻留在db中,我想用pdf解析它。 我正在使用itext生成pdf。 以下是数据库中的html:

<p>no note.</p><br>
<ul><br>
<li><strong>section</strong></li><br>
</ul><br>
<ol><br>
<li>first</li><br>
<li><em>second</em></li><br>
<li><span style="text-decoration: underline;">third</span></li><br>
</ol><br>
无注释。



  • 部分



  • 首先

  • 第二个

  • 第三


  • 下面是解析并插入到pdf中的内容:

    <p>no note.</p><br>
    <strong>section</strong><br>
    first<br>
    <em>second</em><br>
    <span style="text-decoration: underline;">third</span><br>
    
    无注释。


    部分
    首先
    第二个
    第三个
    下面是我将html解析为pdf的代码:

    org.jsoup.nodes.Document doc = Jsoup.parse(text);
    List<Element> objects;
    objects = HTMLWorker.parseToList(new StringReader(doc.outerHtml()), null);
    for (Element object : objects) {
            Element ele = (Element) object;
            document.add(ele);
    }
    
    org.jsoup.nodes.Document doc=jsoup.parse(文本);
    列出对象;
    objects=HTMLWorker.parsetList(新的StringReader(doc.outerHtml()),null);
    用于(元素对象:对象){
    Element ele=(Element)对象;
    文件。添加(ele);
    }
    
    可以看出,数字和项目符号没有显示(它们是html中的“ol”和“li”标记)。 如何解决这个问题

    编辑

    请进一步澄清。以下是我在html中的文本:

    以下是插入到pdf中的注释:

    org.jsoup.nodes.Document doc = Jsoup.parse(text);
    List<Element> objects;
    objects = HTMLWorker.parseToList(new StringReader(doc.outerHtml()), null);
    for (Element object : objects) {
            Element ele = (Element) object;
            document.add(ele);
    }
    

    我的朋友刚刚解决了这个问题:

    XMLWorkerHelper.getInstance().parseXHtml(新的XHTML语言工具(文档)、新的StringReader(文本))


    很简单:)

    我的朋友刚刚解决了这个问题:

    XMLWorkerHelper.getInstance().parseXHtml(新的XHTML语言工具(文档)、新的StringReader(文本))


    简单:)

    HTMLWorker
    早就被弃用了,它的目的不是转换完整的HTML页面。它基本上不知道网页由
    部分组成

    XMLWorker
    是用来解析XML的通用框架。为了避免这些冲突,iText 7使用了能够将HTML转换为PDF的
    convertToPdf
    函数

    下面是代码片段

    HtmlConverter.convertToPdf(new File(src), new File(dest));
    

    将HTML编码添加到第一个参数中,并提供文件位置,以便在提供的位置(文件路径)将HTML保存到PDF中

    HTMLWorker
    早就被弃用了,它的目的不是转换完整的HTML页面。它基本上不知道网页由
    部分组成

    XMLWorker
    是用来解析XML的通用框架。为了避免这些冲突,iText 7使用了能够将HTML转换为PDF的
    convertToPdf
    函数

    下面是代码片段

    HtmlConverter.convertToPdf(new File(src), new File(dest));
    

    将HTML编码添加到第一个参数中,并提供文件位置,以便在提供的位置(文件路径)将HTML保存到PDF中

    请注意,HTMLWorker已被放弃,取而代之的是XML Worker。不再支持HTMLWorker。是的,我知道它已被弃用,但我找不到替代方案。请注意,HTMLWorker已被放弃,取而代之的是XML Worker。不再支持HTMLWorker。是的,我知道它已被弃用,但我找不到替代方案。XHtmlElementHandler来自哪个API/包?我的Ide找不到它。我有itext和XMLWorker。我遇到的问题与您在这里遇到的问题完全相同,但无法创建新的XHtmlElementHandler。我的月食对它没有任何建议。你有什么版本的itext?我也是,我找不到
    XHtmlElementHandler
    ;请给我们maven依赖项或只是导入包。。。这是maven存储库:找不到XHTMLEEmentHandler:/XHTMLEEmentHandler来自哪个API/包?我的Ide找不到它。我有itext和XMLWorker。我遇到的问题与您在这里遇到的问题完全相同,但无法创建新的XHtmlElementHandler。我的月食对它没有任何建议。你有什么版本的itext?我也是,我找不到
    XHtmlElementHandler
    ;请给我们maven依赖项或只是导入包。。。以下是maven存储库:找不到XHtmlElementHandler:/