Java ,wkhtmltopdf, HTML 到 PDF 并非所有字体都能正常工作
Java ,wkhtmltopdf, HTML to PDF not all fonts works correctly
我正在使用 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 中使用 'regular' 字体,但在 html设置粗体..
那么,为什么不是所有字体在 wkhtmltopdf 中都能正常工作,有人解决了这样的问题吗?
我一直在解决这个问题。问题出在字体上,而不是 wkhtmltopdf 库。
如果您想正确使用 font-property,您需要确保在您的字体中设置了 'Preferred Family'。要检查或设置它,您可以使用 FontForge 应用程序。
打开FontForge,然后导入你的字体,然后点击'Element/FontInfo/TTF Names',然后更改'Preferred Family'(每个字体需要唯一)。
我正在使用 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 中使用 'regular' 字体,但在 html设置粗体..
那么,为什么不是所有字体在 wkhtmltopdf 中都能正常工作,有人解决了这样的问题吗?
我一直在解决这个问题。问题出在字体上,而不是 wkhtmltopdf 库。
如果您想正确使用 font-property,您需要确保在您的字体中设置了 'Preferred Family'。要检查或设置它,您可以使用 FontForge 应用程序。
打开FontForge,然后导入你的字体,然后点击'Element/FontInfo/TTF Names',然后更改'Preferred Family'(每个字体需要唯一)。