使用libreoffice将HTML转换为DOCX时丢失上标标记

时间:2014-05-22 21:51:07

标签: html converter docx libreoffice

我有以下HTML:

<html><body><p>n<sup>th</sup></p></body></html>

我正在使用命令:

  

$ libreoffice --convert-to docx:&#34; MS Word 2007 XML&#34;的test.html

将该HTML转换为DOCX文件。但是我注意到生成的DOCX文件实际上并不包含<sup>标记。看起来它正在使用位置和大小来复制<w:vertAlign>标记:

<w:position w:val="8"/><w:sz w:val="19"/>

我需要知道的是如何将libreoffice放在<w:vertAlign>标签中,而不是使用位置和大小。

Additonal Info:

我遇到了类似粗体和斜体(<strong><em>)的问题,但是如果我将strongem标记转换为b,则能够使转换正常工作分别和i标签。

4 个答案:

答案 0 :(得分:1)

如果您希望编辑HTML,最好使用适合编辑HTML的工具,例如Notepad ++或Sublime(作为示例)。

如果出于特定原因需要将HTML作为LibreOffice文档,则可以在记事本中打开HTML文件,并将其另存为.txt作为扩展名的文本文件。这应该允许您在LibreOffice中打开文档。

答案 1 :(得分:1)

您可以尝试使用WinyIWYG(所见即所得)编辑器,如TinyMCE(http://www.tinymce.com/)。它们有很多在线,你也可以找到一些桌面应用程序。但如果你想在docx中转换它,你可以尝试这个http://htmltodocx.codeplex.com/它是用PHP编写的,并且使用PHPWord并且非常有效。

答案 2 :(得分:1)

只需创建一个Python脚本,即可根据需要使用<w:vertAlign>标记替换不需要的标记。

答案 3 :(得分:1)

如果将'docx'替换为'xml',该命令可以正常工作,如下所示:

libreoffice --convert-to xml:"MS Word 2003 XML" test.html