问题标签 [xsl-fo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
680 浏览

xsl-fo - 如何从 Jasperreport 导出 AFP 或 XSL-FO 文件

我正在使用 Jasperreport 生成报告,它支持 pdf、word、xml 等文件格式,但没有 afp 格式,如果有人有更好的解决方案,请告诉我,非常感谢。

0 投票
1 回答
1736 浏览

pdf - 如何在将在新选项卡/窗口中打开的 PDF(在浏览器中打开)中创建超链接

我通过 XML 的 XSLT 转换 (FOP) 生成了一些 PDF。PDF 文件在浏览器中打开。如果它包含任何超链接,则该超链接应该在新的浏览器选项卡/窗口中打开。我不确定这是否可能。有什么见解吗?

0 投票
1 回答
529 浏览

xml - 在 XSL:FO 中将行转换为列

尝试创建一个表,其中行转换为列,以便我可以在 XML 中对列进行逻辑分组。XML 是这样的:

这意味着每个字段都有许多单元格都显示在一列中,而不是跨列的字段,而是显示在几行上。

我试图创建一些 xsl(无济于事)以将此信息显示为水平分组的表。

关于如何做到这一点的任何想法?

0 投票
1 回答
1654 浏览

xml - ApacheFOP - 空白 PDF 输出?

我一直在尝试通过 Apache FOP 将我的 XML 文档转换为 PDF,但是输出的 pdf 是空白的。

非常感谢您对为什么会发生这种情况的任何帮助。

代码似乎执行没有错误:

C:\Users\dfh\Desktop\fop-0.20.5>fop -xml DICENTIA_SDC_SN_1_224860.xml -xsl testx sl.xsl -pdf test2.pdf [INFO] 使用 org.apache.xerces.parsers.SAXParser 作为 SAX2 Parser [INFO ] FOP 0.20.5 [INFO] 使用 org.apache.xerces.parsers.SAXParser 作为 SAX2 解析器 [INFO] 构建格式化对象树 [INFO] 设置字体 [INFO] 文档解析完成,停止渲染器

XSL 文件 (testxsl):

XML 文件:

0 投票
1 回答
107 浏览

xslt - 如何使用 XSL 将 XML 文件转换为 FO 文件?

我需要使用 xsl 将基本的 xml 文件转换为 FO 文件。

xml 看起来像这样:

0 投票
11 回答
58328 浏览

xslt - 在使用 XSL FO 生成的 PDF 中插入换行符

我正在使用 XSL FO 生成一个包含信息表的 PDF 文件。这些列之一是“描述”列。我填充这些描述字段之一的字符串示例如下:

在与此描述对应的表格单元格内,我希望输出显示如下:

我从其他地方的搜索中了解到,您可以在 XSL FO 中使用<fo:block></fo:block>另一个<fo:block>元素中的 an 进行换行。因此,甚至在我用我的 XSL 样式表解析 XML 之前,我都会替换所有出现的<br/>with <fo:block/>,因此字符串的文字值现在看起来像:

当我使用的描述字符串是使用 获取时,就会出现问题<xsl:value-of>,示例如下:

在这种情况下,输出到我的 PDF 文档的值是文字值,因此它看起来与前面的示例完全一样,其中包含所有<fo:block/>文字。我尝试<fo:block/>在另一个字符串的中间手动硬编码,它显示正确。例如,如果我在样式表中写:

它将正确显示为:

但是,当 位于语句<fo:block/>的值内时,这似乎不会发生。<xsl:value-of select=""/>我试过在 SO 和 Google 等上搜索这个,但无济于事。任何建议或帮助将不胜感激。谢谢!

0 投票
1 回答
2896 浏览

xslt - 使用 XSL-FO、Apache FOP 将元素右对齐

我正在使用 XSL-FO 和 Apache FOP 来获取一个看起来很性感的 XML 文件并将其输出为 PDF,但是我遇到了一个非常基本的问题,试图从在页面右侧,我可以通过增加属性将其强制移到右侧left,但如果我更改页面大小、方向或边距,这将立即无用。

下面是 XSL 的代码,请注意第 23 行的注释。

正如您在此屏幕截图中看到的那样,该元素的定位不正确:

替代文字

有谁知道为什么会这样?

0 投票
0 回答
357 浏览

title - 自定义 DocBook XSL NS 部分标题样式

我将“section.autolabel”设置为 1,max.depth 为 2。所以,我的部分(sect1,sect2,sect3,...)标题如下:

这些生成为纯文本(即:“1.1 All about it”),没有任何专门针对编号和标题的格式。

我想做的是将这两个组件分成两个单独的区域,并将编号保持在最左边,标题更靠右,与正文开始缩进一致。所以是这样的:

我正在生成 FO 输出并使用具有快速增长的自定义层的 DocBook 5 + DocBook NS XSL。

所以,我想这个问题有两个方面:

  1. 我可以覆盖什么来控制标题生成?我有点困惑 fo/sections.xsl 中的流程以及它如何组合在一起?

  2. 我将如何引入一个固定宽度的内联元素来为数字和标题提供所需的间距?我一直在搞乱一些 fo:inline-containers, fo:block-containers 但它们都没有产生我想要的结果。

0 投票
1 回答
2878 浏览

php - 用于 PHP 的 XSL-FO 处理器:将 XML 转换为 PDF

我正在寻找一个 PHP XSL-FO 处理器。

我需要的是Apache FOP(在 Java 世界中)的替代方案,以便将 XML 文档转换为 PDF,但我需要在没有 Java 支持的 PHP 环境中执行它。

0 投票
3 回答
31200 浏览

java - Resolving relative paths when loading XSLT files

I need to do an XSL transformation using Apache FOP and I had code like this:

where xslPath is the path where my XSLT file is stored.

I have confirmed that it works when I have only one XSLT file, but in my project I have divided things into several XSLT files and joined them with the <xsl:import /> tag. With this configuration, I get a NullPointerException because it doesn't understand all the information stored in XSLT because it's distributed over different files.

I wonder if there's any way to load all these files in the Source xsltSrc variable so all the XSL information is available.

UPDATE

I've changed the code based on the answer given by Mads Hansen, but it still doesn't work. I have to include the XSLT slt files in the classpath, so I load the XSLT file with ClassLoader. I've checked that the URL has the correct path when executing url.toExternalForm(). This is my new piece of code:

It finds and loads myfile.xslt but it still doesn't resolve the relative paths to the other XSLT files.

What am I doing wrong?