【问题标题】:Can't add font when converting from html to pdf with iText Library.Using spring boot使用 iText 库从 html 转换为 pdf 时无法添加字体。使用 spring boot
【发布时间】:2021-03-09 22:00:25
【问题描述】:

我正在使用 itext 库将 html 转换为 pdf。我可以正确转换,但无法添加字体。我的转换器代码在这里

Configuration cfg = new Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS);
cfg.setObjectWrapper(new DefaultObjectWrapper(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS));
Template t = new Template("templateName", new StringReader(templateHTML), cfg);
Writer out = new FileWriter(new File(TARGET + documentName + ".html"));
t.process(model, out);
out.close();

ConverterProperties properties = new ConverterProperties();
properties.setBaseUri(TARGET);
File output = new File(TARGET + documentName + ".pdf");

FontProvider fontProvider = new DefaultFontProvider();
FontProgram fontProgram = FontProgramFactory.createFont(FONT);
fontProvider.addFont(fontProgram);
properties.setFontProvider(fontProvider);
HtmlConverter.convertToPdf(
    new FileInputStream(TARGET + documentName + ".html"),
    new FileOutputStream(TARGET + documentName + ".pdf"),
    properties);

我的目标和字体在这里

  public static String TARGET = "target/classes/documentsTemplate/";
  public static final String FONT = "./src/main/resources/fonts/special.ttf";

我也尝试像这样向 html 添加字体

* {
    font-family: myFirstFont;
    src: local("C:/font/special.ttf");
}

.text-font {
    font-family: "myFirstFont";
}

【问题讨论】:

    标签: java spring spring-boot itext html-to-pdf


    【解决方案1】:

    我用这段代码解决了。

    FontProvider fontProvider = new DefaultFontProvider(false, false, false);
    fontProvider.addFont(FONT);
    properties.setFontProvider(fontProvider);
    

    但我不能让我的字体加粗

    【讨论】:

      猜你喜欢
      • 2020-09-04
      相关资源
      最近更新 更多