gpt4 book ai didi

asp.net - 在 azure web 应用程序上使用 wkhtmltopdf 包装器 nreco 自定义字体

转载 作者:行者123 更新时间:2023-12-02 15:54:42 25 4
gpt4 key购买 nike

我正在 azure Web 应用程序(以标准计划运行)上使用 wkhtmltopdf 的 .net 包装器“NReco.PdfGenerator”将 html 文件转换为 pdf,但无法在我的文档中包含自定义字体。PDF 生成器不会加载自定义字体,或者只是将其忽略。我尝试了不同的格式来包含字体文件,例如链接到 google fonts css、从 google fonts 导入、相对本地路径、绝对本地路径、通过 localhost 加载字体文件以及使用 base64 编码字体的字体:

@@font-face {
font-family: 'testfont';
src: url(data:application/x-font-woff;charset=utf-8;base64,...) format('woff');
font-weight: normal;
font-style: normal;
}

使用:

font-family: 'testfont';

@@ 因为我正在使用 Razor View 。将生成的 HTML 保存到文件时,它看起来很好,并且在浏览器 (chrome) 中打开时工作正常。

生成 PDF:

var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
return htmlToPdf.GeneratePdf(html);

我还从字体系列声明中删除了备份字体。我尝试过 wkhtmltopdf 的不同版本,但没有成功。生成器可以很好地处理来自本地主机的图像。

在我的 Windows 计算机上运行相同的 asp.net 应用程序时,字体工作正常。

NReco 文档说“避免使用自定义字体”(在 azure Web 应用程序环境中),这是否意味着没有机会让它运行?为什么不支持自定义字体?有什么解决办法吗?

感谢您的帮助。

最佳答案

这是已知问题:Azure 应用托管环境限制某些 GDI API,因此 wkhtmltopdf 无法加载(和渲染)自定义字体。只能使用 Windows 默认存在的标准字体(如 Arial、Times New Roman 等)。您可以就该主题联系 Azure 支持 - 他们可以提供有关 Azure 应用程序沙箱限制的更多详细信息。

关于asp.net - 在 azure web 应用程序上使用 wkhtmltopdf 包装器 nreco 自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45118548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com