【问题标题】:Setting custom font to aspose words java does not work设置自定义字体以设置单词 java 不起作用
【发布时间】:2021-07-21 07:51:01
【问题描述】:

我正在尝试设置自定义字体,但它不起作用。我在这里错过了什么?

/src/main/resources/fonts/fonts
  -> Helvetica
  -> OpenArrow


String path = Thread.currentThread().getContextClassLoader().getResource("fonts").getPath();
FontSettings.setFontsSources(
        new FontSourceBase[] {
                new FolderFontSource(path, true, 1),
                new SystemFontSource(0)
        }
);
FontSettings.setDefaultFontName("Helvetica");


Document outputDoc = new Document();
DocumentBuilder builder = new DocumentBuilder(outputDoc);
builder.getFont().setName("Helvetica");

Helvetica 字体文件夹:

Aspose words 版本:15.6.0

【问题讨论】:

    标签: java aspose aspose.words


    【解决方案1】:

    使用最新版本的 Aspose.Words,您应该使用 FontSettings.getDefaultInstance()。请看以下代码示例:

    FontSettings.getDefaultInstance().setFontsSources(
            new FontSourceBase[] {
                new FolderFontSource("C:\\Temp\\fonts", true, 1),
                new SystemFontSource(0)
            }
    );
    
    Document outputDoc = new Document();
    DocumentBuilder builder = new DocumentBuilder(outputDoc);
    builder.getFont().setName("Helvetica");
    builder.writeln("This is Helvetica text.");
    outputDoc.save("C:\\Temp\\out.pdf");
    

    点击链接了解更多信息。 https://docs.aspose.com/words/java/specify-truetype-fonts-location/

    我还用旧的 15.6.0 版本的 Aspose.Words 检查了以下代码,输出的 PDF 文档看起来正确。看截图。

    FontSettings.setFontsSources(
            new FontSourceBase[] {
                new FolderFontSource("C:\\Temp\\fonts", true, 1),
                new SystemFontSource(0)
            }
    );
    FontSettings.setDefaultFontName("Helvetica");
    
    Document outputDoc = new Document();
    DocumentBuilder builder = new DocumentBuilder(outputDoc);
    builder.getFont().setName("Helvetica");
    builder.writeln("This is Helvetica text.");
    outputDoc.save("C:\\Temp\\out.pdf");
    

    【讨论】:

    • 如果您想为特定文档设置字体,这是正确的。我正在全局设置它们。
    • 更重要的是,我使用的是旧的 aspose 版本,它与当前文档有点不同。
    • 我已经更新了我的答案。我检查了旧的 15.6.0 版本,我这边似乎一切正常。
    • 您介意分享您的 Helvetica 字体吗?我的代码和你的一样,还是不识别。
    猜你喜欢
    • 1970-01-01
    • 2012-11-27
    • 2012-11-22
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多