xsl-fo 相关问题

XSL-FO(XSL格式化对象)是XML文档格式化的标记语言,最常用于生成打印内容。

将 XSL-FO 转换为 HTML

我被要求查看一些旧的 XSL-FO 样式表并将它们转换为 XSLT (HTML),以便我可以获得 HTML 输出。 我能找到的唯一工具是 RenderX XSLFOToHTML 中的工具,但我不知道...

回答 1 投票 0

XPath 中的逻辑或?为什么不是| (管道符号)工作吗?

我有一个 XSLT 模板,它对所有级别的主题进行计数,用于在我拥有的 DITA 项目中用编号来标记这些主题。 我有一个 XSLT 模板,它对所有级别的主题进行计数,用于在我拥有的 DITA 项目中用编号来标记这些主题。 <xsl:template match="*[contains(@class, ' bookmap/chapter ')] | *[contains(@class, ' map/topicref ')] [not(ancestor-or-self::*[contains(@class,' bookmap/frontmatter ')])]" mode="topicTitleNumber"> <xsl:number format="1 " count="*[contains(@class, ' map/topicref ')] [not(ancestor-or-self::*[contains(@class,' bookmap/frontmatter ')])] | *[contains(@class, ' bookmap/chapter ')]" level="multiple"/> </xsl:template> 我正在尝试为计算的内容添加额外的排除项,因为当 topicref 类具有 title 元素且 outputclass 为 noNum 时。 <xsl:template match="*[contains(@class, ' bookmap/chapter ')] | *[contains(@class, ' map/topicref ')] [not(ancestor-or-self::*[contains(@class,' bookmap/frontmatter ')])]" mode="topicTitleNumber"> <xsl:number format="1 " count="*[contains(@class, ' map/topicref ')] [not(ancestor-or-self::*[contains(@class,' bookmap/frontmatter ')] | *[contains(title/@outputclass, 'noNum')])] | *[contains(@class, ' bookmap/chapter ')]" level="multiple"/> </xsl:template> 如上所示,我在第一个 | *[contains(title/@outputclass, 'noNum')] 语句之后添加了 not,认为这将充当附加条件,在调用模板时,count 调用将跳过(即 ...不是祖先 -或-self 与[criteria] 或标题outputclass 属性为“noNum”的主题...)。然而,我添加的标准似乎被视为模板“确实”匹配并计数的内容。 假设我在最后一点上是正确的,我相信我需要将该条件放在它自己的“not”语句中,但我不确定如何使用 XPath 中已存在的条件来做到这一点。 在 XPath 中 | 是集合并运算符,而不是逻辑 OR。 联合运算符,| XPath 1.0 |运算符计算其操作数的并集,操作数必须是节点集。 XPath 2.0+ union 和 | 运算符是等效的。它们采用两个节点序列作为操作数,并返回一个包含任一操作数中出现的所有节点的序列。 逻辑或,or 使用 or 代替 逻辑 OR . 复杂的 XPath 仍然无法工作? 将其分解为更小的部分: //*[contains(@class, ' bookmap/chapter ')]是否选择了您期望的内容? 对逻辑表达式的每个最基本部分重复单独。 将这些单独验证的术语或谓词一次一个地组合起来,并观察沿途的每一步,都不会出现意外。 在合并附加条款之前修复预期结果与实际结果之间的任何差异。

回答 1 投票 0

无法使用 Apache FOP 在 PDF 中绘制 SVG - 遇到未知格式对象“{}svg”(fo:instream-foreign-object} 的子级

我使用 XSL-FO 在表中为简单的复选框创建了以下代码: Java代码 元素 svg = document.createElement("svg"); svg.setAttribute("宽度", "12pt"); svg。

回答 1 投票 0

XSL-FO 静态内容与第二页的内容重叠

我正在创建一个 pdf 文件来向用户显示数据库中的记录。碰巧我们依赖的系统使用了这个 apache xml,而我对此几乎一无所知。 问题是我们有一个标题...

回答 1 投票 0

Java:无法使用 Apache FOP 在 PDF 中绘制 SVG - 遇到未知格式对象“{}svg”(fo:instream-foreign-object} 的子级

使用 XSL-FO 在表中为简单的复选框创建了以下代码: Java代码 元素 svg = document.createElement("svg"); svg.setAttribute("宽度", "12pt"); svg。

回答 1 投票 0

如何使用 DITA Open Toolkit 检索和使用 AntennaHouse PDF 生成中的章节编号?

我是样式表开发的新手,我的方法仍然是反复试验。 目前我正在尝试检索章节的编号(styleshe 中已经有一个模板...

回答 1 投票 0

在哪里可以找到命名空间的 xsi 架构 = http://www.w3.org/1999/XSL/Format

我正在使用 xmlns:fo="http://www.w3.org/1999/XSL/Format" 。我正在尝试查找此命名空间的 xsd 或 dtd 文件,以便我可以使用 IDE 更轻松地工作。 我在哪里可以找到架构...

回答 2 投票 0

将表格打印到 PDF 页面的末尾

我有一些带有不同高度的文本和表格的文档。该文件最后有表格。我需要打印此表格并将其边框延续到页面底部。是否可以?我我们...

回答 1 投票 0

删除静态内容和流程之间的空间

由于某些原因,和 由于某些原因,<fo:static-content flow-name="xsl-region-before">和<fo:flow flow-name="xsl-region-body" space-before="0pt" margin-top ="0pt" padding-top="0pt">之间会自动添加边距。 如何删除它? <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="/"> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-width="210mm" page-height="297mm" margin="10mm"> <fo:region-body margin-top="20mm" margin-bottom="20mm"/> <fo:region-before extent="20mm"/> <fo:region-after extent="20mm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <fo:static-content flow-name="xsl-region-before"> <fo:block-container width="539.3px" height="20px" padding="0px" margin="0px" border-bottom="1pt solid black"> <fo:block> <fo:inline font-family="arialBold" font-size="18px" font-weight="bold" color="#000000"> Задачи обработки отправлений </fo:inline> <fo:inline font-family="arial" font-size="8px" color="#000000"> Страница <fo:page-number/>/<fo:page-number-citation ref-id="end-of-doc"/> </fo:inline> <fo:leader leader-length="37px"/> <fo:inline font-family="arial" font-size="18px" font-weight="bold" color="#000000"> <xsl:value-of select="AppealPrintFormList/currentDate"/> в <xsl:value-of select="AppealPrintFormList/currentTime"/> </fo:inline> </fo:block> </fo:block-container> </fo:static-content> <fo:flow flow-name="xsl-region-body" space-before="0pt" margin-top="0pt" padding-top="0pt"> <xsl:for-each select="AppealPrintFormList/AppealPrintForm"> <fo:table table-layout="fixed" width="556px"> <fo:table-column column-width="91px"/> <fo:table-column column-width="162px"/> <fo:table-column column-width="37.5%"/> <fo:table-body> <fo:table-row> <fo:table-cell padding="0px"> <fo:block font-family="arial" font-size="12px" font-weight="bold"> <xsl:value-of select="clientSystemOrderNumber"/> </fo:block> <fo:block font-family="arial" font-size="8px" color="#7F7F7F" font-weight="bold"> <xsl:value-of select="appealType"/> </fo:block> </fo:table-cell> <fo:table-cell padding="0px"> <fo:block font-family="arial" font-size="8px" color="#000000"> Получ.: <xsl:value-of select="contactPhone"/> </fo:block> <fo:block font-family="arialBold" font-size="8px" color="#000000"> Отпр.: <xsl:value-of select="sender"/> </fo:block> </fo:table-cell> <fo:table-cell padding="0px"> <fo:block-container margin-left="12.5px" padding="0px" text-align="left" start-indent="0px" end-indent="0px"> <fo:block margin="0px" padding="0px"> <fo:inline font-family="arialBold" font-weight="bold" font-size="8px" color="#000000"> <xsl:value-of select="barcode"/> </fo:inline> <fo:leader leader-length="6px"/> <fo:inline font-family="arial" font-size="8px" color="#000000"> <xsl:value-of select="ukdRegisterWeight"/> кг </fo:inline> <fo:leader leader-length="4px"/> <fo:inline font-family="arial" font-size="8px" color="#000000"> <xsl:value-of select="routeName"/> </fo:inline> </fo:block> <fo:block margin="0px" padding="0px"> <fo:inline font-family="arialBold" font-size="8px" color="#000000"> <xsl:value-of select="mailType"/> </fo:inline> <fo:leader leader-length="6px"/> <fo:inline font-family="arial" font-size="8px" color="#000000"> <xsl:value-of select="rpoStatus"/> кг </fo:inline> <fo:leader leader-length="6px"/> <fo:inline font-family="arial" font-size="8px" color="#000000"> <xsl:value-of select="deliveryDate"/> </fo:inline> </fo:block> </fo:block-container> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> <fo:table table-layout="fixed" width="556px" space-before="8px"> <fo:table-column column-width="50%"/> <fo:table-column column-width="25%"/> <fo:table-column column-width="22%"/> <fo:table-body> <fo:table-row> <fo:table-cell padding="0px"> <fo:block font-family="arial" font-size="8px" color="#000000"> <xsl:value-of select="essence"/> </fo:block> </fo:table-cell> <fo:table-cell padding="0px"> <fo:block font-family="arial" font-size="8px" color="#000000"> <xsl:value-of select="zoneDescription"/> </fo:block> <fo:block font-family="arial" font-size="8px" color="#7F7F7F"> Текущая зона </fo:block> </fo:table-cell> <fo:table-cell padding="0px"> <fo:block-container border-bottom="0.4px solid black" height="10px" width="100%"> <fo:block> </fo:block> </fo:block-container> <fo:block font-family="arial" margin-top="1px" font-size="8px" color="#7F7F7F"> Новая зона </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> <fo:block-container space-before="5px" space-after="8px" border="0.4pt dashed black" width="100%"> <fo:block> </fo:block> </fo:block-container> </xsl:for-each> <fo:block id="end-of-doc"/> </fo:flow> </fo:page-sequence> </fo:root> </xsl:template> </xsl:stylesheet> 我尝试通过设置 <fo:static-content flow-name="xsl-region-before" space-after="0pt" padding="0px" margin="0px"> 和 <fo:flow flow-name="xsl-region-body" space-before="0pt" margin-top="0pt" padding-top="0pt"> 来删除所有缩进,但这没有帮助。 你的区域主体有一个边距。流动在该区域内。 您尝试过使用负边距吗? 前任。顶部边距=“-10pt”

回答 2 投票 0

跨多列的块后如何配置空间?

我有一个两列布局,经常被跨越所有列的块打断。 所有文本都显示在正确的列中,但忽略前空格和后空格属性。什么...

回答 1 投票 0

当节点B跨越多个页面时,如何确保XSL-FO表(节点A)在下一页的顶部继续?

我正在使用 XSL-FO 生成 PDF,其中由 表示的节点 A 通常在单个页面内完成。同时,节点B常常跨越多个页面。当节点 B 延伸到...

回答 1 投票 0

XSL FO 在表格单元格中添加内容与前面的点右对齐(如果内容之前存在空格)

需要将内容与单元格的右侧对齐。 如果单元格中存在空间,则需要用点填充 您好,欢迎来到 Stackoverflow ......欢迎来到 Stackoverflow ...... 斯塔克洛弗...

回答 1 投票 0

fo:列表块对齐问题-如何对齐底部?

早上好! 感谢您的关注。我有一些可爱的 MIL-STD-40051 XML (DTD 6.5.3) 和一个样式表问题。 这是我第一次遇到列表块。 我发现这个网站对我的头脑很有帮助

回答 1 投票 0

如何在 Apache FOP 中设置默认语言

我正在使用 Apache FOP 2.1 生成 PDF 文件。 为此,我尝试将默认语言设置为英语。 这应该在通过 Adobe Reader 的 o 创建 PDF 后进行验证...

回答 3 投票 0

使用 ApacheFOP 在 Java 中从 XML 生成 PDF

我正在尝试从 Java 对象生成即时 PDF 报告。我找不到很多这方面的例子,所以我一直在关注这个例子: http://svn.apache.org/viewvc/xmlgraphic...

回答 3 投票 0

XSL-FO:显示阿拉伯字符

拜托,我在使用 api fop 1.0 (XSL-FO) 以 PDF 格式生成的报告中显示阿拉伯语时遇到问题。 我配置了 userConfig.xml 以使用 Arial.ttf 字体。一切正常...

回答 2 投票 0

从右到左语言的页面顺序(阿拉伯语、希伯来语)

在大多数语言中,书籍的装订在左侧。封面页是右侧页,跨页由左侧的偶数页和左侧的奇数页组成...

回答 2 投票 0

使用 AntennaHouse Formatter v73 将 DITA-OT PDF2 插件输出转换为灰度

我目前正在使用 DITA-OT 4.1.1 和 AntennaHouse Formatter v73 进行 PDF 生成的样式表开发:到目前为止,我只处理过彩色输出 PDF,但将来我会...

回答 1 投票 0

使用 XSL FO 格式化文本节点内的节点

我正在尝试打印包含文本和其他节点的节点,但无法将格式应用于子节点。 我有以下 xml: Lorem Ipsum 只是虚拟的

回答 1 投票 0

FOP pdf 生成:fo:内联边框重叠问题

使用 xsl:fo 生成 pdf 时, 我的边框与 fo:inline 标签重叠。 我正在使用 apache-xmlgraphics-fop 版本 2.7。 这是一个代码片段 使用 xsl:fo 生成 pdf 时, 我的边框与 fo:inline 标签重叠。 我正在使用 apache-xmlgraphics-fop 版本 2.7。 这是一个代码片段 <fo:block margin-top="4px"> <fo:inline border-style="solid" border-width="1px" border-color="#E8EDF7" padding="2px" fox:border-radius="3pt"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eu justo at quam hendrerit congue ac ac magna. Maecenas tincidunt vulputate justo, ut tempus lorem pulvinar a. Nulla fermentum metus sit amet metus tempus pretium. In massa sem, vestibulum a lectus eu, efficitur imperdiet odio. </fo:inline> </fo:block> 下面是输出: 您需要增加 line-height 的 fo:block。 line-stacking-strategy="max-height",默认值(请参阅https://www.w3.org/TR/xsl11/#line-stacking-strategy),在定位线条时不考虑fo:inline上的边框和填充地区。 (还是不知道为什么。) 如果FOP支持line-stacking-strategy="line-height",那么你可以在line-height上设置fo:inline,只有带有fo:inline的线才会有更宽的间距。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.