【问题标题】:How to set global font-family in Apache FOP?如何在 Apache FOP 中设置全局字体系列?
【发布时间】:2013-07-18 10:37:19
【问题描述】:

这是我以前用过的:

 <fo:block font-family="Tahoma">Text</fo:block>

如何指定“Tahoma”是整个文档的字体系列?

我正在寻找相当于 CSS 的

body {
  font-family: "Tahoma";
}

【问题讨论】:

    标签: java apache pdf fonts apache-fop


    【解决方案1】:
      <fonts>
        <referenced-fonts>
          <match font-family="Tahoma"/>
        </referenced-fonts>
      </fonts>
    

    <fo:page-sequence master-reference="A4-portrait">
      <fo:flow flow-name="xsl-region-body">
        <fo:block font-size="10pt" font-family="Tahoma">
          Text <xsl:value-of select="name"/>
        </fo:block>
      </fo:flow>   
    </fo:page-sequence>
    

    【讨论】:

    • 第一种方法似乎不起作用,第二种方法..它与我在我的问题中写的有什么不同? (本地字体系列)?
    • 这里是指向原始 Apache 文档 FOP 的链接,我在我的项目配置中使用了它。效果很好。
    • 请注意,我正在嵌入字体
    • 第一个不设置默认字体;根据你的说法,第二个 sn-p 做了什么?
    【解决方案2】:

    如果您实际上没有一个元素来匹配您的特定字体,则无法像在 CSS 中那样执行此操作。 如果您想要的只是为除某些例外之外的所有内容设置字体,请将其设置在 上,然后在需要时进行更改。 无论字体是默认字体还是通过您的配置文件定义的字体都没有区别。

    编辑:

    相当于

    body {   font-family: "Tahoma"; }
    

    <xsl:template match="body">
        <fo:block font-family="Tahoma">
            Content
        </fo:block>
    </xsl:template>
    

    【讨论】:

    • 我假设 Content 是正文,即我必须将整个文档放在那里?
    【解决方案3】:

    如果你想为整个文档设置默认字体,你可以在 fo:root 中设置它。它应该被没有指定字体系列的每个子节点继承。

    <fo:root font-family="Tahoma">
        <!-- rest of document -->
    </fo:root>
    

    【讨论】:

    【解决方案4】:

    您可以使用节点 fo:wrapper 将属性继承到其内容子节点

    <fo:page-sequence master-reference="A4-portrait">
        <fo:flow flow-name="xsl-region-body">
            <fo:wrapper font-size="10pt" font-family="Tahoma">
                <fo:block>
                    Text <xsl:value-of select="name"/>
                </fo:block>
                <fo:block>
                    Another text
                </fo:block>
            </fo:wrapper>
        </fo:flow>   
    </fo:page-sequence>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 2013-11-15
      相关资源
      最近更新 更多