我正在使用 AWS Lambda 中的 PDF 到图像转换项目,但遇到了一些问题,因为 AWS lambda 没有像ImageMagick
环境中那样的相关二进制文件,然后我按照一些链接和 StackOverflow 问题并将相关二进制文件作为一个层,对于这项工作,我不得不使用已Ghostscript
编译的二进制文件。
层 zip 包含这样的文件
GhostScript.zip > bin > gs
我有一个包装库调用pdf2png
,它将执行一个进行转换的子进程,这个子进程使用的命令是上面提到的实用程序gs
,但我的问题是我提到的实用程序的路径是错误的,它会抛出一个错误说,
错误:spawn /opt/bin/bin/gs ENOENT
所以我想知道的是 lambda 层文件将如何复制到/opt/bin/
目录中?我应该如何替换路径?
对应的代码,
gs()
.batch()
.nopause()
.option('-r' + options.density)
// .option('-dDownScaleFactor=2')
.option('-dFirstPage=' + page)
.option('-dLastPage=' + page)
.executablePath('/opt/bin/bin/gs')
.device('png16m')
.output(output)
.input(filepath)
.exec(function (err, stdout, stderr) {