我有一个Lambda函数,可以使用PhantomJS生成PDF。英文版的工作原理很吸引人,但其他语言(日语,印地语,乌尔都语等)的问题都存在。
我尝试了提供的将字体和字体配置与lambda函数捆绑在一起的解决方案,但没有成功。
有人可以建议我要去哪里吗?
CSS:
@font-face {
font-family: 'Noto Serif Devanagari';
src: url('./fonts/NotoSerifDevanagari-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
FontConfig:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/var/task/fonts</dir>
<cachedir>/tmp/fonts-cache/</cachedir>
<config></config>
</fontconfig>
谢谢。
答案 0 :(得分:1)
终于找到了解决我问题的方法。支持字体的方法与我上面所做的类似,只是有所不同:
@font-face {
font-family: 'Noto Serif Devanagari';
font-weight: normal;
font-style: normal;
}
src:url('./ fonts / NotoSerifDevanagari-Regular.ttf')format('truetype');
删除了src:url()行,因为这会将文本转换为光栅图像,并且PDF尺寸因此而增加。
此外,只需在包的./fonts文件夹中添加所需的字体,然后在nodejs代码中使用以下行:
process.env.FONTCONFIG_PATH='/var/task/fonts';
或更好地将FONTCONFIG_PATH添加为lambda函数中的环境变量,其值为-/ var / task / fonts
由于上述解决方案正在工作,因此结束了这个问题。