如何在 bash 中將 libreoffice ODT 轉換為 PDF
我在 CentOS 6 下使用 libreoffice。我可以將 ODT 文件轉換為 PDF:
libreoffice --headless --convert-to pdf *.odt
但問題是它僅在 libreoffice 中未打開任何文件時才有效。當我按照此問題
--env:UserInstallation=file:///path/to/some/directory
的其中一條評論中的建議指定時 ,它無濟於事。我究竟做錯了什麼?在執行 before 命令之前關閉所有 libreoffice 實例很麻煩。
這不太可能奏效,因為評論中的建議既不完整(您不能只指定某個目錄)也不正確(
--env:...
應該是-env:..
。這是我建議您執行的操作:
- 停止所有 libreoffice 實例
- 從命令行啟動 libreoffice 而不指定
--headless
:libreoffice -env:UserInstallation=file:///home/username/.config/libreoffice-alt
你應該
/home/username
用你的主目錄替換(.config
如果你的 CentOS 上沒有,請調整,我在 Ubuntu 和 Linux Mint 上做了這個)。以上將在您的 .config 目錄中為備用 libreoffice 創建一個新的配置目錄,否則您將收到一些關於找不到 java 的錯誤。 3. 退出該 libreoffice 實例 4./home/username/.config/libreoffice-alt
現在應該已經為您創建了該目錄。
libreoffice
現在從命令行啟動另一個(這樣做可以讓您在啟動第二個實例時出現問題時看到一些有用的消息),沒有-env:...
, 並且仍在執行時使用以下命令啟動轉換:libreoffice -env:UserInstallation=file:///home/username/.config/libreoffice-alt --headless --convert-to pdf *.odt
一種可能的方法是安裝
unoconv
(如果尚未安裝)和unoconv file.odt
unoconv
詳情請見人
unoconv
是一個命令行實用程序,可以將 LibreOffice 可以導入的任何文件格式轉換為 LibreOffice 能夠導出的任何文件格式。unoconv
使用 LibreOffice 的 UNO 綁定進行非互動式轉換……在某些平台上還需要安裝
libreoffice-headless
\thanks{Aaron}