我在ubuntu服務器上使用LibreOffice 7.1.3.2 10(Build:2)將excel(.xlsx)檔案轉換為pdf檔案。我在服務器上只有CLI版本的libre office。我正在使用node.js并執行以下命令進行轉換:
libreoffice --headless --convert-to pdf 119.xlsx --outdir /home/pdfs/19
excel到pdf的轉換是有效的,并且成功創建了pdf。但是如果我多次發送這個轉換請求(例如,在5分鐘內發送20個請求),那么pdf就不會被創建。我也沒有從庫中得到任何錯誤。
這是怎么回事?
這怎么可能呢?會不會是與快取或臨時檔案夾有關的問題?
更新:
我使用 "top "檢查了服務器上運行的行程,發現 soffice 的一個行程正在消耗大約 100% 的 CPU。也許這個行程在遇到錯誤時正在重試?
所以我試著在出現錯誤時殺死該行程,但該行程仍然存在。只要這個行程還在運行,其他的pdf轉換就無法進行。然后過了一段時間(大約幾個小時),這個行程停止了,只有在這個時候,pdf轉換才開始作業。
const child = exec(command, { timeout: 10000, maxBuffer: 20 * 1024 }, (error: any, stdout: any, stderr: any) => /span> {
if (error) {
console.log(`error: ${error.message}`)。)
console.log(child.pid)。
child.kill()。
return。
}
if (stderr) {
console.log(`stderr: ${stderr}`)。)
resolve()。
}
console.log(`stdout: ${stdout}`)。)
resolve()。
});
uj5u.com熱心網友回復:
根據LibreOffice的Bugzilla報告了一個類似的錯誤(見https://bugs.documentfoundation.org/show_bug.cgi?id=124798),它似乎已經被更新的版本修復:
Repro 6.2. 沒有轉載6.3和7.2以上版本。關閉了。
因此,我建議升級到一個較新的版本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317214.html
標籤:

