代码之家  ›  专栏  ›  技术社区  ›  FoxyBOA

BIRT:pdf发射器,从相对路径或jar文件加载/使用字体

  •  4
  • FoxyBOA  · 技术社区  · 17 年前

    我从早期就开始使用BIRT,但仍然有关于PDF发射器的谜语。

    我可以将fontsConfig.xml配置为从相对路径或JAR加载字体吗?

    长话短说: 我们在web应用程序中使用FOP和BIRT生成PDF。在库之间共享字体会很好。不幸的是,我找不到用BIRT2.3.1实现这一点的方法

    罪恶的根源是fontsConfig.xml 如果我按如下所示进行配置,它可以正常工作:

    <font-paths>
    <path path="fonts"/>
    </font-paths>
    

    但path不允许我既不使用相对路径也不使用类路径(或者我找不到合适的方法来配置它)。 config1和config2都不起作用。

    配置1:

    <font-paths>
    <path path="../fonts"/>
    </font-paths>
    

    配置2:

    <font-paths>
    <path path="classpath:fonts"/>
    </font-paths>
    

    任何想法都将不胜感激。

    2 回复  |  直到 15 年前
        1
  •  3
  •   hvb    12 年前

    对于某些BIRT版本,可以使用系统属性“BIRT.font.dirs”。这将覆盖fontsConfig.xml。

    现在你可以称之为

    EngineConfig engineConfig = new EngineConfig();
    URL fontsConfigurationURL = new URL("file:///path/to/my/fontsConfig.xml");
    engineConfig.setFontConfig(fontsConfigurationURL);
    
    Platform.startup(engineConfig);
    

    使用BIRT 4.3.0进行测试。

        2
  •  1
  •   Saurabh Singhal    12 年前

    C:\\src\main\webapp\Reports

    FontFactory.registerDirectory( scContext.getRealPath("/Reports") );
    

    这将注册字体。