1

我正在使用 FOP 库从 xml 文件生成 pdf,能够生成所有数据(图像除外)以及通过另一个 xml 传递的动态信息。它不允许我传递图像值,如下所示

<fo:inline>  
          <fo:external-graphic content-width="109.5pt"
                                    content-height="50.25pt"
                                    src="<xsl:value-of select="paymentno" />"
            </fo:external-graphic >
</fo:inline>

动态传递的xml数据在哪里

`<tns:paymentno>
"url(&quot;data:image/auto;base64,iVBORw0KGgoAAAANSUhEUgAAAFUAAAAoCAIAAAAAKyESAAAAYUlEQVR42u3PQQoAIAgEwP7/6YIiEC3oGownjWVjWt/T5qwlvqQz5utyKzkGUvJYlX55aahnjOUAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P/+H/gGaQxUFTT6pUgAAAABJRU5ErkJggg==;&quot;)"</tns:paymentno>`

还有一件事,如果我将静态值(图像)直接传递给 xsl,那么我可以在我的 pdf 中获取图像。如果您有任何想法,请尽快为我提供解决方案

4

2 回答 2

0

您的 XSL 不正确。您不能只将 xsl:value-of 内联。请参阅此答案以获取编写模板的灵感。

使用 apache-poi 时将 base64 编码图像插入 xsl-fo 文件

于 2015-06-02T16:22:21.240 回答
0

您会将结果传递给 XSL 函数,因此您可以直接读取该值。

<fo:inline>
    <fo:external-graphic
        content-width="109.5pt"
        content-height="50.25pt"
        src="url({paymentno})">
    </fo:external-graphic >
</fo:inline>

如果您真的想使用 value-of,那么您将使用它来设置 xsl 属性。根据记忆,这应该是(未经测试):

<fo:inline>
    <fo:external-graphic
        content-width="109.5pt"
        content-height="50.25pt">

        <xsl:attribute name="src">
            <xsl:value-of select="paymentno"/>
        </xsl:attribute>

    </fo:external-graphic>
</fo:inline>
于 2017-10-17T21:39:09.043 回答