20

我正在尝试将文档从 html、txt 转换为 pdf、odt,反之亦然。但似乎只有 odt 到 pdf 有效。。没有其他文件格式被转换

这是我的命令

libreoffice --headless --convert-to pdf test.html [Not working]
libreoffice --headless --convert-to odt test.html [Not working]
libreoffice --headless --convert-to pdf test.docx [Not working]
libreoffice --headless --convert-to pdf test.odt  [Working]
4

10 回答 10

29

在执行命令之前尝试关闭所有正在运行的 LibreOffice 实例。这是我痛苦的根本原因。

于 2015-07-06T08:54:37.093 回答
17

这是LibreOffice 中的一个已知问题,已在 5.3.0 版中修复。在此修复之前,当 LibreOffice 的实例正在运行时 --convert-to 或任何其他命令将静默终止而不做任何事情。

如果您的版本比那个旧,您可以考虑Frank Yin在这里提出的解决方案。即在运行转换之前关闭所有打开的 LibreOffice 文档。

如果您无法关闭所有打开的 LibreOffice 文档来运行转换,或者您觉得它不方便,您可以尝试原始错误的评论中建议的解决方案。

如果您有4.5 之前的 LibreOffice 版本,请运行

soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--headless --convert-to pdf test.docx

如果您运行的是 4.5 和 5.3 之间的 LibreOffice 版本,请运行

soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--convert-to pdf test.docx

$HOME/.libreoffice-headless是一个与您的主要 LibreOffice 配置文件不同的新配置文件目录。

于 2017-05-11T06:06:20.203 回答
9

真正的问题是 libreoffice/soffice 命令行没有提供任何错误消息或调试信息,所以这都是猜测。如果您能做到,请尝试 strace 以获取提示。

在我的情况下(Linux),我没有安装正确的软件包 - 例如,要转换电子表格,需要 libreoffice-calc(duh),还需要 libreoffice-headless(double-duh)。但是命令行不会告诉你——它只是挂起,或者运行并且不做任何事情。

于 2015-10-14T23:08:51.700 回答
6

以下作品

libreoffice  --invisible -convert-to pdf myFile.html

libreoffice --invisible -convert-to docx myFile.odt

该选项--invisible不会启动 GUI,但会在命令行上提供一些正在发生的事情的线索。

在 Linux Mint 13 上测试。

于 2014-03-06T13:32:37.747 回答
2

这在 LibreOffice 4.2 / Linux 上对我有用:

soffice --headless --convert-to txt:Text /path_to/document_to_convert.odt

信用:http ://ask.libreoffice.org/en/question/14130/how-do-i-install-filters-for-the-soffice-command/

于 2015-05-08T10:56:53.403 回答
2

为了我。我遇到的问题是,如果本地 libreoffice 进程已经打开了文档,则 --headless 根本不起作用(仅在 15 毫秒内返回)。

确保您只对尚未在 LibreOffice 中打开的文档执行无头操作。

于 2015-11-14T21:06:00.533 回答
1

对我来说,以下两个软件包是在 CentOS 7 上进行无头 docx 到 pdf 转换的最低要求:

yum install libreoffice-headless  libreoffice-writer
于 2016-03-31T12:22:25.907 回答
1

在 Windows 上,我遇到了以下问题:我尝试使用以下命令将所有 DOC 文件转换为 PDF:

soffice --invisible --convert-to pdf *.doc

它失败了,没有任何错误消息。但是当我放置其中一个文件的文件名而不是*.doc. 所以很明显,解决通配符是个问题*.doc。我所做的是执行与上面完全相同的命令,但来自 Git Bash 而不是普通的命令提示符 (cmd.exe)。有效。更重要的是:在 Git Bash 中,它显示了进度信息和信息性消息

所以我的建议是:如果你在 Windows 上运行 soffice.exe 并且没有得到任何输出,请从 Git Bash 运行命令(你可以通过安装Git for Windows来获取 Git Bash )

于 2018-06-29T17:43:21.940 回答
0

我在使用 libreoffice 时遇到的问题之一是空格问题。在我输入名称(“test-document.docx”而不是测试“documnet.docx”)之后,它工作得很好。从版本 4.2.8.2 - 5.3。

于 2017-06-27T10:56:46.693 回答
-1

我必须安装xvfb包(yum install xorg-x11-server-Xvfb),它是xserver虚拟的。

于 2016-10-14T20:16:58.683 回答