首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在apache-fop fop.xconf中设置字体的相对路径?

如何在apache-fop fop.xconf中设置字体的相对路径?
EN

Stack Overflow用户
提问于 2022-11-04 15:11:16
回答 1查看 19关注 0票数 1

我有下面的fop.conf,它在Windows下运行得很好:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8" ?>
<fop>
<renderers>
<renderer mime="application/pdf">
  <fonts>
          <fonts><font kerning="yes" embed-url="/Windows/Fonts/arial.ttf" embedding-mode="subset">
  <font-triplet name="arial" style="normal" weight="400"/></font>
  </fonts>
</renderer>
</renderers>
</fop>

但是,由于应用程序还需要在没有Arial提供的操作系统上运行,所以我决定在src/main/resources/fonts/Arial.ttf应用程序中添加字体。

所以我试着引用这样的字体:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8" ?>
<fop>
  <renderers>
    <renderer mime="application/pdf">
      <fonts>
        <directory>file:src/main/resources/fonts/</directory>
      </fonts>
    </renderer>
  </renderers>
</fop>

但它不使用字体。

在调试过程中,我看到fopFactoryBuilder有一个名为baseUri的字段,是否可以将其添加到fop.conf中,并将其扩展到Arial字体的路径?

我没有fopFactoryBuilder.setFontBaseURL(),因为我需要使用不提供它的旧版本。

fop.conf中提供相对路径的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2022-11-07 10:57:28

这就是诀窍:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8" ?>
<fop>
<base>.</base>
<renderers>
<renderer mime="application/pdf">
   <fonts>
    <font kerning="yes" embed-url="app/src/main/resources/fonts/Arial.ttf" embedding-mode="subset">
         <font-triplet name="Arial" style="normal" weight="400"/></font>
     <autodetect/>
   </fonts>
</renderer>
</renderers>
</fop>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74319160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档