我正在使用 AWS Lambda 生成 pdf,其中 html-pdf
是 npm 包。一切正常,但问题出在 Hindi
字符上。字符出现乱码和可以理解的东西,如附图所示。
使用的包
- html-pdf
- ejs
我尝试过的事情:
我在我的本地机器上使用了相同的基于 nodejs 的代码,它按预期工作。但不适用于 Lambda (nodejs v6.10/8.10)
最佳答案
默认情况下,Lambda does not output in binary .它对您的所有输出进行 base64 编码。
如果您的 PDF 是通过 API 网关返回的,您可以通过更改 API 网关来扭转这种情况,以便通过第一张图片下方的以下步骤获取二进制文件:
- 为您的 Lambda 函数转到相应的 API 网关(我的是生成日历)
- 选择设置
- 在二进制媒体类型中输入
*/*
- 点击蓝色的保存更改按钮。
然后重新部署 API。见下图和步骤:
- 单击“资源”。
- 在“操作”按钮下,选择“部署 API”
- 在部署阶段,选择Prod
- 然后点击蓝色的部署按钮,
这是一个AWS forum post与您的 PDF 问题类似。希望这会有所帮助。
关于node.js - AWS Lambda 的 Unicode 字符集问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53305710/