【问题标题】:Java ,wkhtmltopdf, HTML to PDF not all fonts works correctlyJava、wkhtmltopdf、HTML 到 PDF 并非所有字体都能正常工作
【发布时间】:2020-07-27 13:53:54
【问题描述】:

我正在使用 wkhtmltopdf 从 HTML(字符串而不是文件)生成 PDF。 在开始创建 PDF 之前,我将所有字体添加到 HTML 文件中

htmlTemplate = htmlTemplate.replaceAll("\\$\\{fontsPlaceholder}", ResourcesCache.getInstance().getFontsCSSCache());

所有字体都在html里面,看起来像

@font-face {
        font-family: 'Abril_Fatface-Regular';
        src: url(data:font/ttf;base64,AAEAA....

但是当我尝试使用字体属性、粗体、斜体等,然后制作 pdf 时,这无法正常工作,并且字段在 pdf 中使用“常规”字体,但在 html 中设置粗体..

那么,为什么不是所有字体在 wkhtmltopdf 中都能正常工作,有人解决了这样的问题吗?

【问题讨论】:

    标签: java backend wkhtmltopdf html-to-pdf


    【解决方案1】:

    我已经解决了这个问题。问题出在字体上,而不是 wkhtmltopdf lib。 如果您想正确使用字体属性,您需要确保在您的字体中设置了“首选系列”。要检查或设置它,您可以使用 FontForge 应用程序。 打开FontForge,然后导入你的字体,然后点击'Element/FontInfo/TTF Names',并更改'Preferred Family'(每个字体必须是唯一的)。

    【讨论】:

    • 感谢您写下答案,希望它对其他人也有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    相关资源
    最近更新 更多