使用 LibreOffice,我可以打开 ODT 文档并手动将其导出为 PDF。
是否也有一个从 shell 执行此操作的命令行?
答案1
/Applications/LibreOffice.app/Contents/MacOS/soffice --headless --convert-to pdf my_document.odt
它要求关闭 Libre Office 才能正常处理。这是一个众所周知的漏洞。
编辑:错误似乎已在 LO 5.3 中修复
答案2
loffice
是您正在寻找的命令。
以下是我运行后得到的输出片段loffice --help
--convert-to output_file_extension[:output_filter_name[:output_filter_options]] [--outdir output_dir] files
Batch convert files (implies --headless).
If --outdir is not specified then current working dir is used as output_dir.
Eg. --convert-to pdf *.doc
--convert-to pdf:writer_pdf_Export --outdir /home/user *.doc
--convert-to "html:XHTML Writer File:UTF8" *.doc
--convert-to "txt:Text (encoded):UTF8" *.doc
答案3
soffice
您可以通过 /Applications/LibreOffice.app/Contents/MacOS/ 路径上的命令在终端上转换 .odt 文件。
如果您使用的系统需要lowriter
,则可以为文件 /Applications/LibreOffice.app/Contents/MacOS/soffice 创建到 lowriter 的链接,例如:
#cd /Applications/LibreOffice.app/Contents/MacOS/ && ln -s soffice lowriter
之后,您可以将 /Applications/LibreOffice.app/Contents/MacOS/ 添加到系统路径,通过将上述路径添加到文件/etc/paths
(以避免出现错误 No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
):
cd /etc && echo '/Applications/LibreOffice.app/Contents/MacOS/' >> paths
现在你可以调用:
soffice --headless --convert-to pdf --outdir /path_to/output_dir/ /path_to_file/file_name.odt
答案4
安装
brew install --cask libreoffice
转变
soffice --headless --convert-to pdf *.odt