将HTML转换为odt、doc、docx

14

在Linux服务器的命令行上,有没有一种简单的方法可以将带有CSS样式和嵌入式图像的HTML转换为ODT、DOCX、DOC格式?我搜索了很多但没有找到一个好的选择。处理转换为PDF时也遇到了同样的问题,最终使用wkhtmltopdf解决。也许有方法可以将生成的PDF文档转换为其他格式?


如果有人想要相反的方式,可以使用名为Docx2Html的这个伟大的Github工具。 - Cadoiz
5个回答

11

安装pandoc后,将文件转换为odt相对简单。

较难的部分是从odt(甚至是html)转换,你可以通过例如unoconv脚本(Open|Libre)Office来实现。

或者您也可以:

abiword --to=doc filename.odt

还可以参考此线程,以及此篇博客文章

希望这对你有所帮助。


1
Pandoc是我一直在寻找的好东西。但是我有一个问题,表格被转换为常规部分 - 表格将出现在每个文档中,它们非常重要。 - user1081056
1
对于 PDF 生成,我使用 wkhtmltopdf 工具,而服务器需要使用 xvfb 来运行 - 但效果完美。 - user1081056
1
刚试了一下 pandoc,感觉很糟糕。它无法正确处理图像大小,而且根据我的搜索结果,这是一个长期存在的问题。 - Hi-Angel
1
好的,刚试了一下abiword。它有一个负面——也没有起作用:像终端中的转换器一样启动后,它只是崩溃并显示“Aborted(core dumped)”。但是它也有一个优点——它是一个图形应用程序,并且可以启动它,接着打开一个html文件,然后选择“另存为”odt格式。但是它也有一个缺点:由于某种未知原因,它将图像移动到第二页*(我还没有尝试在html中添加更多图像)*。天哪...好吧,算了,我希望我的大学不会反对使用html而不是办公文档... - Hi-Angel
1
截至2017年9月,Pandoc仍无法转换包含colspan等稍微复杂的表格 https://github.com/jgm/pandoc/issues/1024 - askrynnikov

1

如果您想将HTML转换为docx,可以使用类似PHPDocX的解决方案。不过需要获取PRO版本,因为免费版本不包括转换功能。


嗯,我是PHPDocX的开发人员之一,所以我了解这个工具,并在我觉得它对任何人有用时进行评论...我希望这样做没有什么问题 :-) - Eduardo Ramos
5
本身没有什么问题,但如果你匿名发布答案,人们可能会质疑你的诚意。你在隐藏什么? :) 如果你在这些答案中加入“声明:我是……的开发人员”,那么你会给人留下更好的印象。 - johndodo
@EduardoRamos PHPDocx如何处理HTML > Docx?我需要将我的带外部资源的HTML文件转换为完全内联(包括Base64编码的图像),还是可以发送zip文件给您? - billmalarky

1

我现在已经迁移到Ruby了。非常感谢! - user1081056

0

如果您遇到问题,请在pandoc GoogleGroup上发布您的问题,John会以各种方式快速响应。

您甚至可能会发现最新版本v1.9可以解决您的问题,或者您只需要更详细地了解工具集。


0
我找到了解决方案 - 在控制台版本中是abiword。

这如何补充这个更详细的答案 - Cadoiz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接