我必须使用 Node JS 将 pcl 文件转换为 pdf 文件,但我不知道该怎么做,任何帮助都会很棒。
我刚刚通过 homebrew 安装了 GhostScript,然后运行命令:
gs -sDEVICE=pdfwrite -o output.pdf input.pcl
但是文件被转换为空白 pdf,我收到了一些错误,如下所示:
Error: /undefined in E3F1241s1754T75Rl0E6W
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1990 1 3 %oparray_pop 1989 1 3 %oparray_pop 1977 1 3 %oparray_pop 1833 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:765/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)--
Current allocation mode is local
Current file position is 37
GPL Ghostscript 10.01.2: Unrecoverable error, exit code 1
如果可能的话,使用 Node js 将 pcl 文件转换为 pdf 文件而不使用第三方 API 的最佳方法是什么?
我尝试使用 Ghostscript 10.01.2
1.安装 GhostPCL(在 macOS 上通过 Homebrew):
brew install ghostpcl
2.测试转换命令:
pcl6 -sDEVICE=pdfwrite -o output.pdf input.pcl
3.使用 Node.js 实现自动化:使用 child_process 模块:
const { exec } = require("child_process");
const convertPCLtoPDF = (inputPath, outputPath) => {
exec(`pcl6 -sDEVICE=pdfwrite -o ${outputPath} ${inputPath}`, (err, stdout, stderr) => {
if (err) console.error("Error:", err.message);
else console.log("Conversion successful!");
});
};
convertPCLtoPDF("input.pcl", "output.pdf");
这避免了第三方API并直接使用GhostPCL。