簡體   English   中英

itext html至pdf帶有多種字體

[英]itext html to pdf with multiple fonts

我使用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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM