Мне нужно преобразовать файл docx в pdf, но я не очень хорошо знаю nodejs, однако я знаю, что можно сделать следующее:
Есть проект unoconv-worker, и в нем есть часть, где появляется следующая строка:
var child = spawn ('unoconv', [
'--stdout',
'--no-launch',
'--format', job.outputExtension,
job.tempPath
]);
https://github.com/koumoul-dev/unoconv-worker/blob/master/route.js
В моем терминале я могу преобразовать его следующим образом, и он отлично работает:
unoconv -f pdf --output = "something.pdf" docxtoconvert.docx
Однако я хотел бы дать вам файл, в котором я дал вам маршрут, поэтому я попробовал это следующим образом:
var filePath = "/tmp/docxtoconvert.docx";
var child = spawn ("unoconv", [
"-f",
"pdf",
"--output",
"/tmp/something.pdf",
filePath
]);
Выход:
Unoconv converter received message on stderr function () {
if (arguments.length === 0) {
var result = this.utf8Slice(0, this.length);
} else {
var result = slowToString.apply(this, arguments);
}
if (result === undefined)
throw new Error('toString failed');
return result;
}
Но это не сработало. Не могли бы вы помочь мне? Спасибо
Unoconv находится в переменной окружения. Фактически, если я запускаю обычный проект, то есть как он есть по умолчанию, он работает правильно, без прохождения абсолютного пути unoconv
да, но это потому, что вы вызываете его из своего терминального сеанса (я думаю, bash), тогда как сеанс nodejs может быть настроен не так, как сеанс bash. Вот почему я предлагаю вам попробовать указать полный путь к unoconv в вашем скрипте.
Та же ошибка, несмотря на указание полного пути oneconv: конвертер Unoconv получил сообщение в функции stderr () {if (arguments.length === 0) {var result = this.utf8Slice (0, this.length); } else {var result = slowToString.apply (это, аргументы); } if (result === undefined) выбросить новую ошибку ('toString failed'); вернуть результат;





Для unoconv существует множество модулей-оберток, которые могут решить вашу проблему.
Вы можете попробовать это https://www.npmjs.com/package/unoconv
Попробуйте указать абсолютный путь к
unoconv