我有一些XSL用作描述PDF / Letter的布局。其中一个要求是在其右侧垂直显示一些文本。我搜索过这个主题,但还没有找到明确或明确的答案。
我试图附上一张图片有助于展示我想要实现的目标,但因为我是新来的,所以不会让我。这是我到目前为止所得到的,但到目前为止我还没有工作(甚至显示文本!)
<fo:block-container writing-mode="tb-lr">
<fo:block intrusion-displace="line">
<fo:float float="start">
<fo:block text-align="center" border="1pt solid gray" font="bold italic 9pt Helvetica">
<fo:block>
Floaty Vertical Text
</fo:block>
</fo:block>
</fo:float>
</fo:block>
</fo:block-container>
你们中有谁聪明的人能说出我将如何实现这一目标吗?非常感谢帮助。
谢谢:)
答案 0 :(得分:0)
我已经设法通过进一步阅读来解决这个问题,我需要做的主要事情是了解XSL-FO基础知识,这反过来又让我能够更清楚地理解需要什么。这是一个片段,展示了我如何实现我的问题:
<fo:layout-master-set>
<fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="1.27cm" margin-bottom="1.27cm" margin-left="1.75cm">
<fo:region-body margin-top="1mm" margin-bottom="1mm" />
<fo:region-before region-name="header-normal" extent="0mm" />
<fo:region-after region-name="footer-normal" extent="0mm" />
<fo:region-end region-name="right-sidebar" writing-mode="tb-rl" extent="10mm" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simpleA4" font-family="sans-serif">
<!-- Output the BARR string -->
<fo:static-content flow-name="right-sidebar" font-size="4pt">
<fo:block padding-before="4pt"text-align="left">
<xsl:value-of select="$BARRstring" />
</fo:block>
</fo:static-content>
一旦你知道怎么做就很直接!只需要创建一个新的region-end并将写入模式设置为tb-rl,然后引用页面序列中的区域。
希望这可以帮助其他人尝试做同样的事情。 :)
答案 1 :(得分:0)
您的解决方案是可行的,但作为替代方法,您可以将相应reference-orientation
元素的fo:static-content
设置为适当的值。例如,如果您希望文本从上到下流动,则可以将属性的值设置为270
:
<fo:static-content flow-name="right-sidebar" font-size="4pt" reference-orientation="270">
<!-- Put content here -->
</fo:static-content>
答案 2 :(得分:0)
使用reference-orientation="90"
<fo:block-container reference-orientation="90" display-align="center" inline-progression-dimension="6cm">
<fo:block>barra</fo:block>
<fo:block font-weight="bold">91219934073AA1123</fo:block>
</fo:block-container>