[英]How to use unoconv with a newer version of libreoffice
我正在嘗試使用 python 將加密文檔 (doc/docx) 轉換為 PDF。
我要做的是:
unoconv -f pdf -eSelectPdfVersaion=1 [path-to-file]
轉換運行,但我注意到在 doc 和 docx 文件中,文檔(解密文件和 pdf)的外觀發生了變化,這不會影響原始加密文件(我通過簡單地解密文件對其進行了測試)來自 Windows 客戶端和原始解密文件)。
外觀基本上是影響頁面數量的文檔樣式的變化。 例如一個13頁的Word文檔被解密成14頁的Word文檔,並轉換成一個14頁的PDF文件。 類似地,一個 348 頁的 doc 文件被轉換為一個 330 頁的 doc 文件,然后是一個 330 頁的 PDF 文件。
我發現 Microsoft Word 和隨 Unoconv (4.3) 安裝的 LibreOffice 版本之間的樣式略有不兼容。 在做我的測試時,我注意到字體被更改為 LibreOffice 兼容的字體,它們的大小與原始字體略有不同。
我安裝了更高版本的 LibreOffice(5.1、5.3),並且在我的測試中,解密的 doc/docx 文件具有正確的格式和頁碼,但 unoconv 不使用較新版本並堅持使用 4.3,因此生成的 PDF 文件為不正確的樣式和頁碼。
我嘗試使用:
soffice --headless --convert-to pdf [path-to-file] --outdir [path-to-export-directory]
但它什么也不做。
有沒有辦法在 4.3 以外的 LibreOffice 版本中使用 unoconv?
有沒有辦法讓 --convert-to 命令與 LibreOffice 5.1 甚至 5.3 一起使用?
以下是您可以嘗試的幾個步驟: 使用卸載舊版本的 libreoffice
sudo apt remove libreoffice*
使用安裝最新版本的 libreoffice
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install libreoffice
要檢查 libreoffice 是否已成功安裝,請鍵入
libreoffice --version
這應該返回版本號
接下來使用安裝 Microsoft 字體
sudo apt install ttf-mscorefonts-installer
還安裝您預計文檔可能附帶的任何其他字體依賴項
最后使用以下命令轉換為pdf。 確保沒有 libreoffice 應用程序在后台運行
libreoffice --headless --invisible --convert-to pdf "test.docx" --outdir files
您應該在名為 files 的文件夾中找到 pdf
這適用於 ubuntu 18.04.5 LTS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.