gpt4 book ai didi

java - itext html 到 pdf 多种字体

转载 作者:行者123 更新时间:2023-12-02 09:55:11 27 4
gpt4 key购买 nike

我使用 addDirectory() 方法一次添加两种 Cardo 字体:

public static final String FONTS = "src/main/resources/fonts/";
public void createPdf(String src, String fonts, String dest) throws IOException {
ConverterProperties properties = new ConverterProperties();
FontProvider fontProvider = new DefaultFontProvider();
fontProvider.addDirectory(fonts);
properties.setFontProvider(fontProvider);
HtmlConverter.convertToPdf(new File(src), new File(dest), properties);
}

不幸的是,使用的是 Times 字体,而不是 Cardo 或 Cardo-Bold。我也尝试过其他 Arial 字体,但它也不起作用

我正在使用 iText 7.1.6 和 pdfHTML 2.1.3

最佳答案

最终使用的字体是由字体选择机制选择的,并且取决于许多因素。如果您没有在 HTML 中以任何方式明确指定您的字体系列名称 Cardo,那么默认情况下将使用 Times

如果您只想使用添加到 FontProvider 的字体,那么您应该使用另一个 DefaultFontProvider 的构造函数,因为默认构造函数添加了标准 PDF 字体和多种字体随 pdfHTML 一起提供。使用另一个构造函数允许您关闭在后台添加这些字体:

// Passing false three times means not loading standard PDF fonts, fonts shipped with pdfHTML and system fonts
FontProvider fontProvider = new DefaultFontProvider(false, false, false);
fontProvider.addDirectory(fonts);
properties.setFontProvider(fontProvider);

关于java - itext html 到 pdf 多种字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56057954/

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