以下代码:
<xsl:message>[threfUrl] <xsl:value-of select="$threfUrl" /></xsl:message>
<xsl:variable name="actualHeight" select="itext:getPlainHeight(itext:getInstance($threfUrl))" />
抛出此错误:
[xslt] [threfUrl] file:/data/dtemple/share/dita_share/png_debug/screenshot_example.png
[xslt] /tools/dita_ot/1.6/plugins/com.altera.pdf/cfg/fo/xsl/altera_commons.xsl:1124: Fatal Error! Cannot convert from xs:string to byte
PNG文件存在且可读。使用Saxon 9.命名空间:itext =&#34; java:com.itextpdf.text.Image&#34;
有关错误的任何线索(错误消息无效)或如何修复? 是&#34;文件:/&#34;语法正确吗?
答案 0 :(得分:1)
假设您正在使用http://api.itextpdf.com/itext/com/itextpdf/text/Image.html#Image%28java.net.URL%29尝试select="itext:getPlainHeight(itext:new($threfUrl))"
。如果这不起作用,则显式构造URL,如
<xsl:variable name="actualHeight" xmlns:url="java:java.net.URL" select="itext:getPlainHeight(itext:new(url:new($threfUrl)))" />
我引用的文件说
Constructor Detail
Image
public Image(URL url)
Constructs an Image -object, using an url .
Parameters:
url - the URL where the image can be found.
以便构造函数是公共的。
也许该API的版本不同,我不知道为什么会出现错误。另一个尝试可能是您的原始尝试,但传入一个URL,所以
<xsl:variable name="actualHeight" xmlns:url="java:java.net.URL" select="itext:getPlainHeight(itext:getInstance(url:new($threfUrl)))" />