zoukankan      html  css  js  c++  java
  • JasperReport| JasperReport中使用自定义字体(font) Font 'MS 明朝' is not available to the JVM. See the Javadoc for more details.

    写在前面:
    在网上看到很多关于ireport对JasperReport的操作,关于使用JasperReport Studio的相关资料很少.本文主要是使用JasperReport Studio操作来自定义字体然后在报表中使用.

    操作坏境:
    Windows10 64位

    1.获取字体
    Windows10系统C:WindowsFonts文件夹下字体,这里的字体都是TTC格式的合成字体.
    由于在JasperReport中使用的字体格式是TTF字体,这里需要将TTC合成字体中提取出需要的TTF字体.TTC和TTF相关介绍和字体的提取见我的另外一篇文章.
     TTF和TTC字体介绍

    2.制作字体Jar包
    这里以微软的雅黑字体TTC字体来提取TTF字体为例子:
    雅黑的所有字体: 通过字体预览可以知道各种格式的雅黑字体.每一个TTC字体都可以展开成多个TTF字体.
    msyh.ttc 雅黑
    msyhl.ttc 雅黑高亮
    msyhbd.ttc 雅黑加粗

    msyh.ttc字体分解成了两个TTF的字体: (这个字体功能基本一致,具体可以看字体详情)
    msyh001.ttf
    msyh002.ttf

    选中项目右键->Properties->搜font->Configure Workspace Settings
    设置字体,注意在Bold,Italic…选项卡中可以设置字体相应对应的的ttf文件.

    配置解释:
    PDF Encoding : 配置该字体可以在生成PDF报表时候使用,尤其是在解决PDF中中文不显示问题,但是并不是所有的字体都是支持在PDF中显示中文的.
     

     导出字体成jar包: Yves-雅黑.jar

    3.使用字体

    直接将导出生成的Yves-雅黑.jar加进工程的classpath既可.
    然后在工程知直接使用.

    PS:有时候当我们需要自己定义多个字体的的时候,不想像上面一样每一个字体都生成一个Jar包.这里我们使用配置的方式来完成自定义多个字体.
    首先用上面的方式生成一个字体的jar包.然后修改jar包中的配置文件.

    在配置文件fontsfamilyXXXXX.xml中可以看见其配置,每一个fontFamily 标签下的设置代表一个字体,name属性代表配置字体的显示名称.配置完成后将相应的字体文件按照路径fonts/Yves_雅黑/msyh001.ttf存放既可.
     

    <?xml version="1.0" encoding="UTF-8"?>
    <fontFamilies>
        <fontFamily name="Yves-雅黑">
            <normal><![CDATA[fonts/Yves_雅黑/msyh001.ttf]]></normal>
            <pdfEncoding><![CDATA[Identity-H]]></pdfEncoding>
            <pdfEmbedded><![CDATA[true]]></pdfEmbedded>
            <exportFonts/>
        </fontFamily>
    </fontFamilies>
    

    两次遇到这个问题 必须的记录下来了,本文转载自https://blog.csdn.net/u011479200/article/details/78607812

    谢谢这位博主很好的解决了我的问题

  • 相关阅读:
    5 Longest Palindromic Substring(easy)
    4 Median of Two Sorted Arrays(medium)
    前言
    3 Longest Substring Without Repeating Characters(medium)
    JavaScript&jQuery学习笔记
    禅道、jenkins部署记录
    jenkins部署自动化项目备注
    pytest
    我的第一个py爬虫-小白(beatifulsoup)
    单元测试python unittest
  • 原文地址:https://www.cnblogs.com/zhangyuanbo12358/p/12768461.html
Copyright © 2011-2022 走看看