gpt4 book ai didi

pdf-generation - pdfkit 在 OS X 和 Ubuntu 上呈现 PDF 文档时使用不同的字体

转载 作者:行者123 更新时间:2023-12-05 03:12:20 24 4
gpt4 key购买 nike

我使用 pdfkit从 HTML 页面生成 PDF 文档。问题是它在我的开发机器 (OS X) 和生产服务器 (Ubuntu) 上使用不同的字体,所以我无法在开发和生产环境中获得一致的渲染。

看看这些截图:

在 Ubuntu 上生成的 PDF: PDF generated on Ubuntu

在 OS X 上生成的 PDF: PDF generated on OS X

HTML 版本 HTML version

PDF 有不同的字体,但当我在浏览器中打开 HTML 版本时,它在 Ubuntu 服务器和本地 OS X 上托管时呈现完全相同,并使用与本地 (OS X) 生成的 PDF 相同的字体。

这是我用来生成 HTML 和 PDF 版本的代码(这是 Django)。

t = loader.get_template(self.template_name)
c = RequestContext(request, context)
html = t.render(c)

if format == "html":
return HttpResponse(html, content_type="text/html")
elif format == "pdf":
options = {
'quiet': ''
}
pdf = pdfkit.from_string(smart_unicode(html), False, options=options)

response = HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition'] = '{0}; filename=Order Sheet.pdf'\
.format(self.get_disposition())
return response
else:
return HttpResponse("Unknown format", content_type="text/html")

这是CSS字体定义

body {
font-family: sans-serif;
font-size: 13px;
font-weight: normal;
}

我也尝试了 Arial

为什么 pdfkit (wkhtmltopdf) 在 Ubuntu 上使用不同的字体以及如何强制它使用我想要的字体?

最佳答案

OSX 使用 Helvetica 作为其默认的无衬线字体,而 Ubuntu 的默认字体是 DejaVu Sans。我建议使用环境之间通用的一种。

您可以在您的 Ubuntu 计算机上安装 Helvetica,然后修改 font-family: "Helvetica", sans-serif;

理想情况下,我会探索一种可在两种环境中访问的字体,然后在您的字体系列调用中指定它。

关于pdf-generation - pdfkit 在 OS X 和 Ubuntu 上呈现 PDF 文档时使用不同的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998140/

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