libreoffice-convert 在 nodejs 中不起作用
libreoffice-convert not working in nodejs
所以,我当然在我的 nodejs 应用程序中使用 libreoffice-convert、运行。
我的代码如下
const file = fs.readFileSync(enterPath);
// Convert it to pdf format with undefined filter (see Libreoffice doc about filter)
libre.convert(file, extend, undefined, (err, done) => {
if (err) {
console.log(`Error converting file: ${err}`);
}
// Here in done you have pdf file which you can save or transfer in another stream
fs.writeFileSync(outputPath, done);
});
上面的代码 returns 在尝试打开 LibreOffice 时出错。
The application cannot be started.
The configuration file "C:\Program Files\LibreOffice\program\bootstrap.ini" is corrupt.
这是我bootstrap.ini
的内容
[Bootstrap]
InstallMode=<installmode>
ProductKey=LibreOffice 7.0
UserInstallation=$SYSUSERCONFIG/LibreOffice/4
如果有人能帮助解决这个问题,我将不胜感激。也不确定它是否有帮助,但我在 Windows.
上 运行
libreoffice-convert
中存在一个已知问题,它仍处于 Open
状态:issue。您可以尝试此问题评论
中讨论的解决方法
在 libreoffice-convert/index.js
中进行以下更改
// change
let command = `${results.soffice} -env:UserInstallation=file://${installDir.name} --headless --convert-to ${format}`;
// to
let command = `${results.soffice} --headless --convert-to ${format}`;
如果有人遇到与我相同的问题,请参考我的解决方法。
- 下载并安装 LibreOffice。可以下载here
- 在运行
npm i libreoffice-convert
之后,转到your_project/node_modules/libreoffice-convert/index.js
,找到下面的代码。
/* your_project/node_modules/libreoffice-convert/index.js */
let command = `-env:UserInstallation=file://${installDir.name} --headless --convert-to ${format}`;
// change to
let command = `${installDir.name} --headless --convert-to ${format}`;
- 现在试试你的脚本。
这对我有用:
安装:yum install libreoffice-headless
所以,我当然在我的 nodejs 应用程序中使用 libreoffice-convert、运行。 我的代码如下
const file = fs.readFileSync(enterPath);
// Convert it to pdf format with undefined filter (see Libreoffice doc about filter)
libre.convert(file, extend, undefined, (err, done) => {
if (err) {
console.log(`Error converting file: ${err}`);
}
// Here in done you have pdf file which you can save or transfer in another stream
fs.writeFileSync(outputPath, done);
});
上面的代码 returns 在尝试打开 LibreOffice 时出错。
The application cannot be started.
The configuration file "C:\Program Files\LibreOffice\program\bootstrap.ini" is corrupt.
这是我bootstrap.ini
[Bootstrap]
InstallMode=<installmode>
ProductKey=LibreOffice 7.0
UserInstallation=$SYSUSERCONFIG/LibreOffice/4
如果有人能帮助解决这个问题,我将不胜感激。也不确定它是否有帮助,但我在 Windows.
上 运行libreoffice-convert
中存在一个已知问题,它仍处于 Open
状态:issue。您可以尝试此问题评论
在 libreoffice-convert/index.js
中进行以下更改// change
let command = `${results.soffice} -env:UserInstallation=file://${installDir.name} --headless --convert-to ${format}`;
// to
let command = `${results.soffice} --headless --convert-to ${format}`;
如果有人遇到与我相同的问题,请参考我的解决方法。
- 下载并安装 LibreOffice。可以下载here
- 在运行
npm i libreoffice-convert
之后,转到your_project/node_modules/libreoffice-convert/index.js
,找到下面的代码。
/* your_project/node_modules/libreoffice-convert/index.js */
let command = `-env:UserInstallation=file://${installDir.name} --headless --convert-to ${format}`;
// change to
let command = `${installDir.name} --headless --convert-to ${format}`;
- 现在试试你的脚本。
这对我有用:
安装:yum install libreoffice-headless