XSL-FO 基础知识(三)

2023-11-15

基本块格式化 第 1 页(共4 页)


既然您已经接触到了 <fo:block><fo:inline> 元素的一些基本知识,您可以研究它们的更多特性以及用文本块可以做的其它一些事情。让我们首先看看上一章中介绍的 <fo:block>


<fo:block font-size="14pt" line-height="17pt">
  This is a paragraph of text.  Notice that as 
  <fo:inline font-style="italic">this meaningless 
  prose</fo:inline> drones on and on, the FOP 
  software automatically calculates line breaks for us.  
  Isn't that fascinating?
</fo:block>

该示例使用 line-height 特性来更改行间距。如果不使用该特性,line-height 会和 font-size 相同。使 line-heightfont-size 大 3 到 6 个点通常是好的做法;如果行与行之间没有小的空间,文本可能会难以辨认和阅读。所需的空间大小取决于字体的特征和文本列宽;如果您正与团队中的图形设计师一起工作,那么请遵循您的这位专家对该值的建议。

<fo:inline> 元素进行文本格式化 第 2 页(共4 页)


下面介绍如何用 XSL-FO <fo:inline> 元素来格式化文本:

  • 粗体字:使用带 font-weight="bold" 属性的 <fo:inline> 元素。
  • 斜体字:使用带 font-style="italic" 属性的 <fo:inline> 元素。
  • 等宽字:使用带 font-family="monospace" 属性的 <fo:inline> 元素。
  • 更改字体:要采用 serif 字体(通常类似于 Times-Roman),可使用带 font-family="serif" 属性的 <fo:inline> 元素。要采用 sans serif 字体(通常类似于 Arial),可使用属性 font-family="sans-serif"(请参阅 FOP 文档以了解如何将机器上安装的字体转换为 FOP 可以使用的字体)。

关于特性的一句话 第 3 页(共4 页)


即使简单的 XSL-FO 文件也会用到几个特性,如 font-sizeline-heightfont-style。许多 XSL-FO 特性与您可能知道的 CSS 特性相同。XSL-FO 和 CSS 还有共同之处:即元素常常从其祖先元素继承特性。下面还是那个示例段:


    <fo:flow flow-name="xsl-region-body">
      <fo:block font-size="14pt" line-height="17pt">
        This is a paragraph of text.  Notice that as 
        <fo:inline font-style="italic">this meaningless 
        prose</fo:inline> drones on and on, the FOP 
        software automatically calculates line breaks for us.  
        Isn't that fascinating?
      </fo:block>
    </fo:flow>

请注意,在定义 <fo:inline> 元素时,示例没有指定 font-sizeline-height 特性。那是因为那些特性是从包含 <fo:inline> 元素的 <fo:block> 元素继承而来。

关于特性要记住的另一件事:XSL-FO 特性只是 XML 属性。

您会注意到我在本教程中将特性(property)和属性(attribute)互换使用。XSL-FO 规范也是这样做的。

字符实体 第 4 页(共4 页)


以下是对于文本格式化要记住的另一方面:字符实体。不象 HTML,XSL-FO 没有定义字符实体。这意味着每次您想使用字符实体时,必须自己定义它。下面是定义字符实体的语法:


<!DOCTYPE fo:root [
  <!ENTITY frac14 "&#188;">
]>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:fox="http://xml.apache.org/fop/extensions"> 

该代码定义了一个实体,并将它与一个特定字符相结合(DOCTYPE 关键字后的第一个单词必须是文档根元素的名称)。一旦您已经定义了字符实体,就可以在 XSL-FO 文档中使用它,就象您在 HTML 文档中所做的那样。当您在本教程的后续部分“XSL 格式化对象(XSL Formatting Object,XSL-FO)高级技术”阅读到无序列表时,您将看到另一个在 XSL-FO 中使用字符实体的示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSL-FO 基础知识(三) 的相关文章

  • css动画移动元素位置

    我的 CSS 动画有这个问题 我有一个元素位置绝对居中于页面中间 当我放置动画时 它会向右移动 当动画完成时 它会移回到页面中间 这是代码 keyframes motto from opacity 0 transform translate
  • 有效,但未捕获引用错误:当我在控制台中键入数组时未定义数组

    我用 js 制作了一个 Tic Tac Toe 游戏 我有几个数组 一个用于 html td 元素 网格 用于查看它们之前是否被点击过 boolGrid 还有一个用颜色检查结束条件 colorgrid 我使用 var 关键字及其内容在全局范
  • 禁用 Firefox 的自动填充

    是否可以禁用 Firefox自动填充功能而不禁用自动完成 我知道我可以这样做 autocomplete off 但我不想禁用自动完成 只是禁用自动填充 Firefox 正在填充一些本应为空的隐藏字段 这主要是用户刷新页面时出现的问题 表单字
  • 拒绝在框架中显示“https://www.youtube.com/watch?v=oKZRsBjQJOs”,因为它将“X-Frame-Options”设置为“sameorigin”

    我需要将来自 youtube 的视频放置在我的网站中 但 URL 是一个变量 我创建了一个可以放置的管道 但不起作用 这是我在 HTML 文件中的代码 我的管道的代码是这样的 export class VideoPipe implement
  • 是否可以删除将鼠标悬停在链接上时出现的手形光标? (或将其设置为普通指针)

    我想删除当您将鼠标悬停在超链接上时出现的手形光标 我试过这个CSS a link cursor pointer 和这个 a link cursor pointer important 当我将鼠标悬停在链接上时 它仍然会变成手 有谁知道为什么
  • 如何制作像图像中那样精确的 CSS3 线性渐变?

    For example this is gradient which I want to make in CSS3 我可以使用 1 px 图像剪切并在 x 轴上重复 就像我们之前所做的那样 但现在如果我想使用 CSS3 制作同样精确的渐变
  • 如何以 JavaScript 编程方式获取旋转的 svg 文本边界

    我正在动态渲染 SVG 图像并创建旋转文本 如果旋转的文本与其他文本重叠 我需要删除该文本 但我无法测量旋转的文本来创建边界并检查下一个标签文本区域 我创建了 3 个 SVG 元素来解释 SVG 1 显示重叠的文本 SVG 2 显示重叠的旋
  • CSS 选择器在哪个方向进行验证?

    我记得不久前在网上看过一个视频 是雅虎工程师的演讲 他在视频中提到浏览器从右到左读取 CSS 选择器 而不是从左到右 意义 body header links a实际上会拉出页面上的所有锚点 过滤那些具有类父级的锚点links有一个班级的家
  • 将弹性项目放置在网格中彼此的顶部而不包裹它们[重复]

    这个问题在这里已经有答案了 我使用 Flexbox 有以下布局 我想让 div 包含2在右侧 以及Team and Scorers应该弥补它左边的空间 Required layout 这和下面的想法是一样的2如果使用表格 div 的行跨度为
  • 无法读取未定义错误的属性“匹配”

    我试图在 React JS 前端显示一些文本来代替个人资料图像 当它不可用时 基本上 我将当前客户名称传递给一个函数 该函数提取名称中所有单词的第一个字符 我能够仅显示名称 但是当我执行函数调用时 出现 无法读取未定义的属性 匹配 错误 并
  • CSS 列数导致项目拆分列

    尝试不使用 jQuery 脚本来实现砖石效果 因此寻找 CSS 替代方案 我正在尝试使用列计数 这似乎有效 但不符合预期 因此 列就在那里 但有时容器中的项目会被拆分为多个列 正如您应该在此示例中看到的那样 http jsfiddle ne
  • 本机反应:“order”不是有效的样式属性

    顺序是 Flex 中一个有用的属性 我在互联网上搜索这个 概括 CSS order 属性指定用于在 Flex 容器中布置 Flex 项目的顺序 元素按顺序值的升序排列 具有相同 order 值的元素按照它们在源代码中出现的顺序排列
  • 带有 viewbags 的 MVC 数据集

    如何将数据集放入视图袋中并在视图中显示结果 我有一个来自模型的数据集 并将其写入视图包 我想使用 foreach 循环从视图中的视图包中获取数据行 我已经有一个变量进入视图 所以我无法正常传递数据集 每页我还会有许多其他数据集 所以我认为
  • 修复 PHP 中格式错误的 HTML?

    我正在根据用户提供的片段构建一个大型 HTML 文档 这些用户有以各种方式格式错误的烦人习惯 浏览器足够强大且宽容 但我希望能够验证并 理想情况下 修复任何格式错误的 HTML 如果可能的话 例如 td b Title b td 可以合理地
  • 如何禁用向左滚动?

    I got a div 元素 parent 包含多个子元素 item 我想启用滚动父元素一个方向 left OR正确的 否则什么都不会发生 看我的代码 parent scroll function gt gt gt scroll event
  • 选择 jQuery 中的每第 n 个项目?

    jQuery 有方便的 even 和 odd 选择器 用于选择集合中偶数或奇数索引的项目 我用它来清除一系列浮动框中的所有其他项目 如下所示 div class 2up div div div div div div div and Cle
  • 将文本数据作为表单中的文件发布

    是否可以从 html 表单中发布一些作为文件输入类型的字符串的 XML 数据 情况是我有一个像这样的表格 form action target php method post enctype multipart form data gt
  • 猫头鹰轮播,制作自定义导航

    所以我有一个包含三张图像的猫头鹰旋转木马 我还在左侧和右侧添加了自定义导航箭头 png 图像 然而 这些箭头目前是无用的 因为我找不到一种方法来真正让它们在我的猫头鹰旋转木马的图像之间切换 我无休止地寻找 找不到解决方案 有任何想法吗 您需
  • CSS 转换的中断对于相同的属性值不起作用

    I ve 回答了一个问题 https stackoverflow com a 43372990 3162554关于如何在悬停子元素时启动动画 然后保留应用的样式 直到取消悬停父元素 然而 我在我提出的解决方案中发现了一个我无法解释但我想理解
  • IE8 和怪异模式

    IE8 是否像 IE6 7 一样以怪异模式运行 我有一个网页 其中有一些非常奇怪的代码 内容以填充和负边距居中 它在 IE6 7 和其他浏览器中可以正常工作 但在 IE8 中 内容区域的宽度只有一半并且不居中 怪异模式的标志 源代码在 DO

随机推荐

  • EAN13条形码绘制(Delphi版)

    单元声明 unit UnitEAN https wenku baidu com view d61eec0dc4da50e2524de518964bcf84b9d52d0d html 共有95 18 113条数据模块 1表示黑 0表示白 左侧
  • Python版SSH远程服务器使用Paramiko和scp库

    作为开发人员 配置或调试VPS通常是无法解决的 而且并不是特别有意义 充其量 您的应用程序可能最终将以与本地环境相同的方式运行 我们如何才能使这一不可避免的工作变得更好 好吧 我们可以使其自动化 设置SSH密钥 要验证SSH连接 我们需要设
  • 图像处理算法大全(基于libyuv或IPP)----NV12转成I420,RGB24,ARGB集合

    周星星教你学ffmpeg 技巧 libyuv源码 static void NV12ToI420 BYTE pNV12 Y BYTE pNV12 UV BYTE pYV12 int width int height libyuv NV12To
  • 在Nginx中让所有HTTP请求转发到HTTPS

    title 在Nginx中让所有HTTP请求转发到HTTPS date 2017 10 23 20 50 24 tags nginx http https categories 运维 背景 在启用HTTPS协议的网站上 通常会让用户始终以
  • Sklearn常用API以及代码

    1 ensemble 集成 VotingClassifier 投票分类器 由若干异质分类器组成 例如LR RF朴素贝叶斯 GNB import numpy as np from sklearn import datasets from sk
  • 2022年业绩逆势增长,“要强”蒙牛再创蒙牛

    2022年是蒙牛 再造一个新蒙牛 五年计划的第二年 也是乳企赛道疫情以来最为艰难的一年 这一年里 不仅有疫情多点散发所带来的线下渠道不畅 也有原材料价格飙涨所导致的成本高企 在这种形势下 蒙牛尽管遭遇多重困难 但仍拿出了一份亮眼的成绩单 其
  • Eclipse 连接 SQL Server 2008数据库,运行JAVA代码时出现:‘sa’用户登录失败

    前几天用Eclipse 连接 SQL Server 2008数据库 运行JAVA代码时总是出现 sa 用户登录失败 我的连接方法都是按照网上找的 一直在寻找错误的原因 网上说 1 sql server的密码是否正确 2 sql server
  • 西瓜书《机器学习》课后答案——chapter7

    7 1 试使用极大似然法估计西瓜数据集3 0中前3个属性的类条件概率 解答 假设类别C为随机变量 则它总共有两种取值 好瓜和坏瓜 前3个属性分别为色泽 根蒂和敲声 分别用随机变量R S T表示 并且可取值分别为 青绿 乌黑 浅白 38738
  • Array K-Coloring【Codeforces Round #531 (Div. 3)B】【构造】

    题目链接 题意 给你N长度的数组 以及K种颜色 要求的是我们能否使用全部K种颜色来填充每个数组元素 其中数组中的每个相同值元素的染色是不能相同的 并且 要用完所有K个颜色 能达到以上要求 则是YES并输出染色 否则 只有NO 我WA在了第6
  • 一个或多个筛选器或者Listeners启动失败

    今天使用tomcat直接部署项目 之前一直都是在idea直接部署 但是在启动tomcat的过程中一直报一个或多个筛选器或者Listeners启动失败的错误 之前在idea部署的时候也出现过这个错误 然后就根据网上的答案说 lib 下可能没有
  • 数据结构初阶 ---- 顺序表的(C语言)实现

    目录 一 动态顺序表的结构体定义 二 动态顺序表的函数接口 1 顺序表的初始化 2 顺序表的销毁 3 打印结构体数组内的内容 4 检查数组容量 容量不够时 扩容 5 顺序表的尾插 6 顺序表的尾删 7 顺序表的头插 8 顺序表的头删 9 顺
  • jffs2:You cannot use older JFFS2 filesystems with newer kernels错误

    jffs2 You cannot use older JFFS2 filesystems with newer kernels错误 原因 可能在于交叉编译linux内核时 没有打开jffs2系统的使能开关 解决方法 在内核文件中执行make
  • spring mvc 中对静态资源的访问配置

    在web xml中配置spring mc servlet 对url pattern设置时 排除在spring的servlet之外
  • netty的线程池-----揭示了使用两个线程池的原因

    线程模型是Netty的核心设计 设计地很巧妙 之前项目中有一块处理并发的设计和Netty的Eventloop单线程设计类似 效果得到了实证 Netty5的类层次结构和之前的版本变化很大 网上也有很多文章写Netty的线程模型 Reactor
  • windbg+vmware双机调试配置教程及可能出现的问题

    一 设备参数说明 1 调试机 物理机windows 10 windbg 10 0 22000 194 2 被调试机 虚拟机windows xp sp3 3 虚拟机软件 VMware workstation 16 1 2 二 虚拟机配置调试串
  • Python面试题整理(选择题及其答案)

    Python面试题 选择题及其答案 往期文章 Python知识点整理 完整 Python知识点整理 图文结合近三万字 史上最全 Python二级考试知识点 史上最全 Python二级考试试题汇总 史上最全 2023年Python选择题及答案
  • 学习之笔记

    Hook技术被广泛应用于安全的多个领域 比如杀毒软件的主动防御功能 涉及到对一些敏感API的监控 就需要对这些API进行Hook 窃取密码的木马病毒 为了接收键盘的输入 需要Hook键盘消息 甚至是Windows系统及一些应用程序 在打补丁
  • Matlab求解矩阵方程

    描述 使用matlab求解某个方程 方程里面的变量和参数都是矩阵形式 代码 clc clear syms x A eye 4 B eye 4 x solve A x inv A B x就是方程的解 下面是另外一种形式 和上面是等同的 cle
  • UE4学习日记——蓝图中的各种颜色代表什么

    节点类型颜色 白色 执行线 蓝色 调用的函数或事件 暗蓝色 结构体 草绿色 流程切换 绿色 纯函数 通常用于获取什么 青色 试着对象转换 紫色 函数定义 灰色 宏 红色 事件的定义 土黄色 时间轴 数据类型颜色 白色线条 执行线 程序的执行
  • XSL-FO 基础知识(三)

    基本块格式化 第 1 页 共4 页 既然您已经接触到了