[英]specify font in Python pdfkit
我在Debian Docker映像上使用python 3.6和pdfkit 0.6.1(似乎是wkhtmltopdf 0.12.3.2)。 我尝试查看docs & wkhtmltopdf选项,但无法为整个文档指定字体。 页脚和页眉只有字体选项。
我尝试指定
font-family: "Times New Roman", Times, serif;
在html到pdf转换之前,在我的html <style>
部分的div
包装器中,但是它没有出现“ Times New Roman”。 查看二进制文件,似乎是在使用DejaVuSerif
。
有没有办法为要转换的文档指定字体?
我设法使用user-style-sheet
通过CSS样式表自定义了整个文档的字体。 在CSS文件内部,为了避免字体结构出现问题,建议您将字体转换为base64格式。 base64参考
@font-face {
font-family: 'YourFont';
font-style: normal;
font-weight: 400;
src: url(data:font/opentype;charset=utf-8;base64,d09GRgABAAAAAD00AA4A---[large string ommited]----3MAuAH/hbAEjQA=) format("woff"),
url(data:font/truetype;charset=utf-8;base64,AAEAAAARAQAABAAQRFNJRwAAAAEAAJUIAAA---[large string ommited]-----wAAAAAAAAAAAAEAAAAA) format("truetype");
}
* {
font-family: "YourFont" !important;
}
您可以使用一个工具,如这对您的字体转换为base64
。
希望能帮助到你!
好吧,看来我需要安装ttf-mscorefonts-installer
,但是首先,我需要向ttf-mscorefonts-installer
中添加contrib
sources.list
sed -Ei 's/main$/main contrib/' /etc/apt/sources.list
然后安装软件包
apt-get -y install ttf-mscorefonts-installer
我能够找到的最接近的免费字体是ttf-liberation
Liberation Serif
,这意味着html样式字体必须更改为:
font-family: "Times New Roman", Times, "Liberation Serif", serif;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.