Aws lambda 在AWS Lamba上安装新字体

Aws lambda 在AWS Lamba上安装新字体,aws-lambda,Aws Lambda,我正在AWS Lambda上安装Imagemagick,而Imagemagick通常使用的字体似乎没有预先安装,我如何添加其他字体?您不能 您甚至可以将Imagemagick与lambda一起使用的原因是AWS lambda团队已在其容器上预安装了此库 Lambda在NodeJS上运行时也是如此,NodeJS上安装了用于操作Imagemagick的库,但没有运行Imagemagick本身 您应该研究使用C#/Java运行时——它可能有Imagemagick库,您可以将其添加到Lambda中(对此

我正在AWS Lambda上安装Imagemagick,而Imagemagick通常使用的字体似乎没有预先安装,我如何添加其他字体?

您不能

您甚至可以将Imagemagick与lambda一起使用的原因是AWS lambda团队已在其容器上预安装了此库

Lambda在NodeJS上运行时也是如此,NodeJS上安装了用于操作Imagemagick的库,但没有运行Imagemagick本身


您应该研究使用C#/Java运行时——它可能有Imagemagick库,您可以将其添加到Lambda中(对此不确定)。

以下是我刚刚使用pandoc/Xeletex在AWS Lambda上为自定义字体所做的工作。我想你可以做一些非常类似的事情来让Imagemagick正常工作

我在我的项目中创建了一个
font
目录,并将我所有的字体都放在那里。在该目录中,我还创建了一个
font.conf
文件,如下所示:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <dir>/var/task/fonts/</dir>
  <cachedir>/tmp/fonts-cache/</cachedir>
  <config></config>
</fontconfig>
在这样做之后,我可以在我的模板中按名称引用一种字体,比如
Bitter
(只是
Bitter
),然后根据任何文本位应该具有的样式,pandoc/xelatex/fontconfig/任何知道要使用哪个版本的字体(比如
Bitter Bold.otf
vs
Bitter Italic.otf


我根据这个项目中让RSVG在Lambda上使用自定义字体的技巧得出了这个结论:

hi…所以Imagemagick是预安装的,Imagemagick函数可以通过PHP使用吗,就像我们通常使用它一样,例如:
$img=newImagick('image.jpg')为了提供更多的背景信息,我需要imagemagick for moviepy。我已经将自己的Imagemagick添加到lambda包中,然后我指示moviepy指向Imagemagick的正确版本,如下所示:从moviepy.config导入更改设置Imagemagick\u BINARY=os.path.join(SCRIPT_DIR,'Imagemagick/bin/magick')您可以使用子进程调用从Python调用Imagemagick。看见如果使用ImageMagick 7,则将convert更改为magick。如果提供字体文件的路径(带后缀)而不仅仅是名称,是否有效?
process.env.FONTCONFIG_PATH='/var/task/fonts'