标签: xsl-fo

使用参数处理FOP

HI,我想使用FOP准备一个用于打印的XML文档(ps/pdf).是否可以将参数发送到FOP以进行xsl处理器中存在的条件格式化

XSL:

<xsl:param name="isDuplicate">no</xsl:param>
....
<xsl:if test="$isDuplicate='yes'">
    <h2 align="center">Copy</h2>
</xsl:if>
....
Run Code Online (Sandbox Code Playgroud)

xslt xsl-fo apache-fop

2
推荐指数
1
解决办法
2539
查看次数

使用XSL:FO将附件添加到PDF

在SO的帮助下解析内嵌图像后,我需要整理内联附件.PDF可以包含附件,我发现:fo:declarations - pdf:embedded-file但它再次指向外部文件.如何附加属于MIME消息的文件(很可能是BASe64)?

pdf xslt mime xsl-fo apache-fop

2
推荐指数
1
解决办法
2673
查看次数

XSL-FO外部图形没有显示

我有一些问题需要在我的PDF中显示外部图形.我尝试使用各种路径,url()但似乎没有任何工作.这是我缺少的东西吗?

<fo:table-cell>
    <fo:block>
        <fo:external-graphic src="url(ss/naam.png)"></fo:external-graphic>
    </fo:block>
</fo:table-cell>
Run Code Online (Sandbox Code Playgroud)

xml xslt xsl-fo

2
推荐指数
1
解决办法
3万
查看次数

Java - 组成XSL-FO的方法

我想使用XSL-FO来编写PDF.但在我看来,Java和这些文档的组合之间并没有真正的集成,就像添加/编辑对象(如表,图像等)到文档然后要求生成相应的XML一样.这方面有什么进展我不知道吗?

java pdf xsl-fo

2
推荐指数
1
解决办法
7157
查看次数

fo:external-graphic src="data:image/png;base64, ..." 作为属性

我的 xslt 中有一个 sniplet,如:

    <fo:block>
    <fo:external-graphic src="data:image/png;base64, //base64 code//" />
    </fo:block>
Run Code Online (Sandbox Code Playgroud)

为了不弄乱我的主样式表,我创建了另一个以 base64 图像作为参数的 xslt,例如:

     <xsl:param name="logo">data:image/png;base64, //base64 code//</xsl:param>
Run Code Online (Sandbox Code Playgroud)

如果我将主样式表更改为:

    .
    .
    <xsl:include href="image.xsl" />
    .
    .
    <fo:block>
    <fo:external-graphic>
    <xsl:attribute name="src"><xsl:value-of select="$logo" /></xsl:attribute>
    </fo:external-graphic>
    </fo:block>
Run Code Online (Sandbox Code Playgroud)

1st 我得到一个堆大小错误,在使用 -Xmx4096m 后我得到一个解析错误.. 当我在主样式表中嵌入了 base64 图像时,我不需要 4gb 堆和我制作的 pdf 有图像.

使用 Apache FOP 1.1,抱歉我的英语,不是我的主要语言。

xml xslt xsl-fo apache-fop

2
推荐指数
1
解决办法
9401
查看次数

linefeed-treatment ="preserve"不适用于通过xsl-fo生成pdf的下一行

我的xml文件

<entries>
 <entry ID="93" ENTRY_TYPE="Text1" ENTRYNM="First line:
  Second line
  third line
  fourth line" ENTRY_DT="12-Jan-2004"/></entries>
Run Code Online (Sandbox Code Playgroud)

我的xsl-fo

<fo:block linefeed-treatment="preserve" white-space-treatment='preserve'
      white-space-collapse='false'>
<xsl:value-of select="./entries/entry/@ENTRYNM"/>
</fo:block>
Run Code Online (Sandbox Code Playgroud)

我正在生成包含ENTRYNM的pdf,它应该保留下一行,如xml所示.

Like example:
First line:
Second line
third line
fourth line
Run Code Online (Sandbox Code Playgroud)

xml xslt xsl-fo

2
推荐指数
1
解决办法
4846
查看次数

xsl:fo不会将单词分成2行

我想停止将生成的单词拆分为两行.现在我尝试使用wrap-option ="wrap"但没有任何效果.我希望有些人可以帮助我;)

我使用Saxon-HE,xslt 2.0

我的xml文件:

<root>
     <out>
          invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 
          <build>
               <name>John</name>
               <year>29</year>
               <address>London</address>
               <code>12345678902331234313123123123123123123</code>
          </build>At vero eos et    
     </out>
</root>
Run Code Online (Sandbox Code Playgroud)

我的xslt文件:

 <xsl:template match="out">
        <fo:block>
               <xsl:apply-templates/>
        </fo:block>
    </xsl:template>

    <xsl:template match="build">
        <fo:inline wrap-option="wrap" color="Red">
            <xsl:value-of select="concat(./name,'-',./year,'-',./address,'+',./code)"/>
        </fo:inline>
    </xsl:template>
Run Code Online (Sandbox Code Playgroud)

我的预期输出如下:

Invidunt ut labore et dolore magna aliquyam erat,sed diam voluptua
John-29-London+11231231231...
Run Code Online (Sandbox Code Playgroud)

用我的解决方案输出:

Invidunt ut labore et dolore magna aliquyam erat,sed diam voluptua John-29
-London+123123..
Run Code Online (Sandbox Code Playgroud)

xml xslt xsl-fo xslt-2.0

2
推荐指数
1
解决办法
1525
查看次数

将封面页插入XSL:FO模板

我使用过这些文档,我需要编辑现有代码以映射数据库中的字段.XSL文档已经具有模板和区域.我的目标是在模板的任何边缘出现之前添加封面.

代码如下所示:

<fo:layout-master-set>
    <fo:simple-page-master master-name="Letter Page" page-width="8.3in" page-height="11.7in" 
        margin-top="0px" margin-bottom="0px" margin-right="0px" margin-left="0px">
        <fo:region-body region-name="xsl-region-body" 
            padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px" 
            margin-top="4.250cm" margin-bottom="2.750cm" margin-left="1.8cm" margin-right="1.8cm" 
            border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" 
            extent="0px" column-gap="0px" column-count="1" reference-orientation="0"/>
        <fo:region-before region-name="xsl-region-before" 
            display-align="after" extent="3.8cm" 
            padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px" 
            border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
        <fo:region-after region-name="xsl-region-after" 
            display-align="before" extent="2.750cm" 
            padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px" 
            border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/>
        <fo:region-start region-name="xsl-region-start" 
            extent="1.8cm" 
            padding-top="0px" padding-bottom="0px" padding-left="0px" padding-right="0px" 
            border-style="none" border-width="0px" border-color="" background="" background-repeat="no-repeat" background-position-horizontal="0px" background-position-vertical="0px" reference-orientation="0"/> …
Run Code Online (Sandbox Code Playgroud)

xml xsl-fo apache-fop

2
推荐指数
1
解决办法
1280
查看次数

从嵌入式SVG设置XSL FO背景图像

我正在以这种方式 XSL FO文档中创建背景文本:

<svg:svg width="285" height="70">
      <svg:g transform="rotate(-5)">
            <svg:text x="10" y="60" style="font-family:Courier;font-size:40;font-weight:normal;stroke-width:0.5;fill:none;stroke:lightgray;stroke-opacity:0.75;">
                  Background Watermark Text 
            </svg:text>
      </svg:g>
</svg:svg>
Run Code Online (Sandbox Code Playgroud)

有没有办法在页面背景中显示这个SVG?问题是导入外部图像作为水印工作正常,但我没有找到任何方法将此嵌入式 SVG 设置为背景图像...

xsl-fo apache-fop

2
推荐指数
1
解决办法
1313
查看次数

XSL - 如果变量来自字符串,如何将其设置为整数

XPTY0004:未为 xs:string 和 xs:integer 类型的操作数定义运算符“+”

输入:

<?xml version="1.0" encoding="UTF-8"?>
<LeveL Plan="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">


<space2000>
<values>
<value jak="77" rak="12"</value>
<value jak="66" rak="345"></value>
<value jak="-50" rak="67"></value>
<value jak="-30" rak="-89">1</value>
</values> 

</space2000>


</LeveL>
Run Code Online (Sandbox Code Playgroud)

我的尝试:

<xsl:stylesheet version="2.0" 
xmlns:fn ="http://www.w3.org/2005/xpath-functions"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:template match="/">
<xsl:for-each select="(LeveL/space2000/values)">
<xsl:variable name="JJJ"  select="(format-number(((value/@jak) div 2),'0'))"/>
<xsl:variable name="RRR"  select="format-number(((value/@rak) div 2),'0')"/>
<xsl:text>
O
</xsl:text>
<xsl:text>LA</xsl:text>
<xsl:value-of select="$JJJ"></xsl:value-of>
<xsl:text> </xsl:text><xsl:text>LO</xsl:text>
<xsl:value-of select="$RRR"></xsl:value-of>
<xsl:text>
O
</xsl:text>

<xsl:choose>
     <xsl:when test="( $JJJ > '0')">
        <xsl:value-of select="A"/>
     </xsl:when>
     <xsl:when test="( $JJJ < '0')">
        <xsl:value-of …
Run Code Online (Sandbox Code Playgroud)

xslt xsl-fo

2
推荐指数
1
解决办法
9550
查看次数

标签 统计

xsl-fo ×10

xslt ×7

apache-fop ×5

xml ×5

pdf ×2

java ×1

mime ×1

xslt-2.0 ×1