java itextpdf 5.5.6自定义字体无法正常显示

时间:2017-05-24 11:06:10

标签: java fonts itext

我正在使用ITextPdf(5.5.6)和我的java + android web应用程序生成pdf。我想查看Gotham Light字体中的内容。因此我下载了一个Gotham Light .ttf文件并创建了如下字体。 在我生成的pdf中,看起来它是好的字体,但它更大胆。

我使用iText的版本是否支持Gotham Ligh?

我正在使用的代码:

    Template t = ve.getTemplate(contratXHTML, "UTF-8");
    StringWriter writer = new StringWriter();
    t.merge(context, writer);
    String body = writer.toString();
    writer.close(); 

    OutputStream os = new FileOutputStream(absolutePathContratPDF);

    renderer.getFontResolver().addFont("C:\\Windows\\Fonts\\Gotham Light_0.ttf",BaseFont.EMBEDDED);     
    renderer.setDocumentFromString(body);
    renderer.layout();      

    renderer.createPDF(os);
    os.close();
    FileUtils.deleteQuietly(new File(pathTemporalDirectory));
    return body;

请你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,

问题不在于您添加的字体,而是用于以PDF格式打印的正文(HTML正文)的CSS /样式。

请正确指定font-family。就我而言,我使用了Arial字体和

  

font-family:Arial;在

我的字体无法使用标记。 所以,将其改为

  

font-family:sans-serif;

解决了这个问题。

在少数情况下,您可能需要定义

  

font-family:Arial,Helvetica,sans-serif;

参考:https://developer.salesforce.com/forums/?id=906F000000095wDIAQ