我是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">
我使用了trunk中的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>
请帮忙。
答案 0 :(得分:0)
重要:要获得圆角,您必须使用the trunk (development) version of FOP。它不适用于最新发布的版本(FOP 1.1)。 另请参阅http://wiki.apache.org/xmlgraphics-fop/RoundedBorders。
可以通过查看Subversion repository中的代码并按照here所述进行编译来获取FOP主干。
问题中FO代码的主要问题是radius属性的名称是错误的。请参阅http://xmlgraphics.apache.org/fop/trunk/extensions.html#rounded-corners中的规范。另请注意,在Current Limitations下,它说:
不直接支持表格上的圆角。要在表级设置圆角,表必须将
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
。