使用 libreoffice 从 HTML 转换时嵌入图像

Posted

技术标签:

【中文标题】使用 libreoffice 从 HTML 转换时嵌入图像【英文标题】:Embed images when converting from HTML with libreoffice 【发布时间】:2013-04-24 16:19:12 【问题描述】:

我在无头模式下使用 libreoffice 将 html 转换为各种格式。对于这个问题,为了简单起见,我们将使用 docx。

我使用类似这样的命令:

libreoffice --headless --convert-to docx:"MS Word 2007 XML" --writer document.html

这在大多数情况下都很好用。

HTML 包含几个图像的绝对链接。

<img src="http://myserver.com/image1.jpg" />

当文档转换为 document.docx 时,图像仍然被链接到,而不是嵌入到文档中。这会在您离线和预览等情况下导致问题。

有没有一种方法可以告诉 libreoffice 下载图像并将其直接嵌入到文档中,而不是仅仅将它们保留为链接图像?

【问题讨论】:

我有相反的问题。最新版本似乎默认嵌入,但我希望它能够创建实际文件。 了解 libreoffice 是否真的默认转换为 embed 会很有趣。如果您知道这一点,请在此处发表评论让我知道。 【参考方案1】:

LibreOffice 目前(接近 6.3,但这是自 this change / 5.2 以来的情况)默认不嵌入图像:

libreoffice --convert-to html test.odt

您可以选择嵌入这样的图像:

libreoffice --convert-to html:'HTML (StarWriter):EmbedImages' test.odt

【讨论】:

【参考方案2】:

安装 pandoc 后转换为 odt 非常简单。

在相对困难的部分之后:从 odt(甚至 html),您可以通过例如脚本 (Open|Libre)Office取消转换

或者你可以喜欢:

abiword --to=doc 文件名.odt 另请参阅此线程和此博客文章。 安装 pandoc 后转换为 odt 非常简单。

在相对困难的部分之后:从 odt(甚至 html),您可以通过例如脚本 (Open|Libre)Office取消转换

或者你可以喜欢:

abiword --to=doc 文件名.odt 另请参阅此线程和此博客文章。

【讨论】:

以上是关于使用 libreoffice 从 HTML 转换时嵌入图像的主要内容,如果未能解决你的问题,请参考以下文章

Libreoffice 在命令行上将 HTML 转换为 PDF 会产生空白页面

从 JAVA 使用 LibreOffice/OpenOffice 转换文件格式

如何从命令行使用 LibreOffice 将 .doc 文件转换为 .txt?

使用 LibreOffice 的 'scalc' 从命令行将制表符分隔的文本转换为 Excel

在使用 Libreoffice 将任何文件转换为 pdf 时,它将日语(unicode)字符转换为括号

使用带有运行实例的 libreoffice 高效转换为 PDF