我在編寫一個python腳本來解析Wordpress Export XML(wp xml)的內容以生成LaTex文檔。到目前爲止,wp xml是通過lxml.etree
解析的,代碼生成一個新的xml樹,由texml處理,而後者又生成tex文件。將HTML img標籤轉換爲帶有LaTeX標題的圖形
目前我提取每個帖子以及某些元數據(標題,出版日期,標籤,內容)。元數據沒有問題,但內容部分有點問題。在wp xml中,內容作爲CDATA結構包含在純HTML/Wordpress標記中。爲了將其轉換成乳膠,我選擇pandoc來解析內容。 TeXml支持內聯的LaTeX,因此內容將作爲普通的LaTeX添加到樹中。
我決定,因爲它已經轉換爲使用pandoc在這種情況下,大部分的HTML標籤的很好(a
,strong
,em
...),我唯一的問題是它如何與圖片交易。
我用一個子進程與pandoc接口:
args = ['pandoc', '-f', 'html', '-t', 'latex']
p = Popen(args, stdout=PIPE, stdin=PIPE, stderr=PIPE)
tex_result = p.communicate(input=(my_html_string).encode('utf-8'))[0]
樣本後可能是這樣的
<strong>Lorem ipsum dolor</strong> sit amet, consectetur adipiscing elit.
<a href="http://link_to_source_image.jpg"><img class="alignnone size-medium wp-image-id" title="Title_text" src="http://link_to_scaled_down_version.jpg" alt="Some alt text" width="262" height="300" /></a>
Nam nulla ante, vestibulum a euismod sed, accumsan at magna. Cras non augue risus, vitae gravida quam.
我需要嵌入作爲例如數字字幕圖像
\begin{figure}
\includegraphics{link_to_image.jpg}
\label{fig:some_label}
\caption{Some alt text}
\end{figure}
pandoc似乎HTML img
標籤轉換成一個簡單的內聯圖像,丟棄任何標題或ALT文本。
\href{http://link\_to\_source\_image.jpg}{\includegraphics{http://link_to_scaled_down_version.jpg}}
我不期而遇的來源,它看起來像img
僅作爲內聯元素處理。 (pandoc parsing function)。我不知道Haskell,所以這是我得到了多少。
如果轉換HTML到降價雖然,它保持了alt和title和結果類似於
![Some alt text](http://link_to_scaled_down_version.jpg "Title_text")
有了你可以有所得的膠乳文檔中的內聯圖像或數字降價。如果此轉換成降價乳膠結果是
\begin{figure}[htbp]
\centering
\includegraphics{http://link_to_scaled_down_version.jpg}
\caption{Some alt text}
\end{figure}
首先pandoc似乎是一個簡單的解決方案來解析的內容,但我有點堅持爲pandoc也是不支持嵌入式乳膠HTML,所以我能先通過pandoc處理所有圖像和其他圖像。
你們是否有任何想法如何(更好地)處理img
標籤在html中被嵌入在有標題的乳膠圖形環境中?
是的,這是訣竅!我正在測試它,其中包括標籤,但它並沒有出現在我的腦海中,只是用圖像進行嘗試...... 非常感謝! – nitnatsnoc