我在我的应用程序中使用 Django Rest Framework 和 React.js。作为应用程序的一部分,我在后端生成 pdf,然后将它们发送到前端进行显示。这个功能是有效的,如果不是因为我的前端 pdf 中的字体看起来不同的话。
在我的后端,我使用reportlab来生成pdf,使用buffer = io.BytesIO()
作为 reportlab.pdfgen 画布的对象。
然后在我看来,我通过 FileResponse 发送它。我使用的字体系列 id 'Roboto'。
然后,在我的前端中,我通过 Axios 调用 API 并使用以下代码打开 pdf。
const config = {
headers: {
Authorization: `Bearer ${access_token}`
}
}
const { data } = await axios.get(
`/api/my/url/`,
config
)
const file = new Blob([data], { type: "application/pdf" });
//Build a URL from the file
const fileURL = URL.createObjectURL(file);
//Open the URL on new Window
const pdfWindow = window.open();
pdfWindow.location.href = fileURL;
这可以在新窗口中正确打开我的 pdf。
然而,我的pdf的字体改变了,字符看起来有点不同(并且utf-8符号完全与其他符号改变)。
当我用 Postman 测试我的 API 时,下载的 pdf 看起来完全符合预期,所以我相信问题出在前端。
我不确定问题的原因是什么,所以我非常感谢您的帮助!
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)