我是Altova Stylevision和xsl-fo的新手。我需要为动态且跨多个页面的表格设置弯曲的边框。border-radius属性不起作用,因为xsl-fo处理器既无法在表级别,行级别,也不在单元格级别识别该属性。我无法给出使用border-radius属性时抛出的确切异常,因为我已经使用追踪版本。
请在下面找到详细信息:
<fo:root xmlns:altova="http://www.altova.com"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
我从主干使用了fop扩展,并将以上行包含在XML的顶部。
下面是我用来为单元格创建弯曲边框的部分代码。
<fo:table-cell visibility="hidden" padding="0" display-align="center">
<fo:block-container overflow="hidden">
<fo:block text-align="center" fox:border-before-radius-start="7mm"
fox:border-start-radius-before="7mm">
<fo:inline font-family="RonBscRg" font-size="7pt">ee</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
请帮忙。
重要提示:要弄圆,必须使用FOP的主干(开发)版本。它不适用于最新发布的版本(FOP 1.1)。另请参见http://wiki.apache.org/xmlgraphics-fop/RoundedBorders。
通过从Subversion存储库中签出代码并按此处所述进行编译,可以获得FOP干线。
也有夜间快照。
问题中FO代码的主要问题是半径属性的名称错误。请参见http://xmlgraphics.apache.org/fop/trunk/extensions.html#rounded-corners中的规范。另请注意,在“电流限制”下,它表示:
不直接支持桌子上的圆角。要在表格级别设置圆角,表格必须将
border-collapse
属性设置为separate
。
目前尚不清楚您想要的输出看起来是什么样子,但是使用以下内容fo:block
而不是问题中的内容,您应该看到明显的区别:
<fo:block text-align="center" border-style="solid"
fox:border-before-start-radius="7mm"
fox:border-before-end-radius="7mm">
<fo:inline font-family="RonBscRg" font-size="7pt">ee</fo:inline>
</fo:block>
如果您想将所有四个角都弄圆,只需使用简写形式fox:border-radius
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句