簡體   English   中英

解析某些html標記后,itext pdf生成失敗

[英]itext pdf generation fail on parsing some html tags

我有這個html代碼,它位於db中,我想用pdf解析它。 我正在使用itext生成pdf。 這是db中的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);
}

可以看到,沒有顯示數字和項目符號(在html中是“ ol”和“ li”標記)。 如何解決呢?

編輯

有關更多說明。 這是我在html中的文字:

在此處輸入圖片說明

這是插入pdf的注釋:

在此處輸入圖片說明

我的朋友剛剛解決了它:

XMLWorkerHelper.getInstance().parseXHtml(new XHtmlElementHandler(document), new StringReader(text));

簡單:)

很久以前不推薦使用HTMLWorker ,其目的不是轉換完整的HTML頁面。 它基本上不知道網頁由<head><body>部分組成。

XMLWorker旨在作為解析XML的通用框架。 為了避免這些沖突, iText 7開始使用convertToPdf函數,該函數能夠將HTML轉換為PDF。

以下將是代碼片段。

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

將您的HTML編碼添加到第一個參數中,並提供文件位置,以在提供的位置(文件路徑)將HTML保存為PDF。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM