2013-05-14 110 views
0

我有這個html代碼,它駐留在數據庫中,我想解析它在pdf中。 我正在使用itext生成pdf。 這裏是分貝HTML: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); 
} 

可以看出數字和子彈不顯示(它們是HTML中的「ol」和「li」標籤)。 如何解決這個問題?

編輯

更多的澄清。下面的文字是我在HTML:

enter image description here

和這裏的音符插入PDF:

enter image description here

+1

請注意,HTMLWorker已被放棄以支持XML Worker。 HTMLWorker不再受支持。 –

+0

是的,我知道它已被棄用,但我找不到替代品。 – pms

回答

0

我的朋友剛剛解決了這個問題:

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

簡單:)

+0

XHtmlElementHandler來自哪個API /包?我的Ide找不到它。我確實有itext和XMLWorker。我的問題與您在此處的問題完全相同,但無法創建新的XHtmlElementHandler。我的Eclipse沒有爲它提供任何建議。 –

+1

你有什麼版本的itext? http://api.itextpdf.com/xml/com/itextpdf/tool/xml/XMLWorkerHelper.html – pms

+0

我也是,我找不到'XHtmlElementHandler';請給我們maven依賴或只是導入包... – EssaidiM