2012-11-27 55 views
0

我有一些XSL用作表示來描述PDF/Letter的佈局。其中一個要求是將一些文本垂直顯示在其右側。我已經搜索了這個主題,但還沒有真正找到明確或明確的答案。如何在XSL中顯示垂直文本

我試圖附上一張圖片將有助於顯示我想要實現的目標,但因爲我是新手,所以不會讓我。這是我這麼遠,但至今我還沒有得到它的工作(甚至顯示的文字!)

   <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

我設法解決通過進一步閱讀這個問題,我需要做的主要事情是瞭解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> 

非常簡單,一旦你知道如何!只需要創建一個新的區域結束並將寫入模式設置爲tb-rl,然後在頁面序列中引用該區域。

希望這可以幫助其他人試圖做同樣的事情。 :)

0

您的解決方案是可行的,但作爲替代方法,您可以將相應的fo:static-content元素的reference-orientation設置爲適當的值。例如,如果您希望文本從上到下流動,則可以將屬性值設置爲270

<fo:static-content flow-name="right-sidebar" font-size="4pt" reference-orientation="270"> 
<!-- Put content here --> 
</fo:static-content> 
相關問題