簡體   English   中英

在XSL生成的FO文檔中的表中有些掙扎

[英]Struggling with some margin in a table in XSL generated FO document

希望到目前為止,大家度過了愉快的假期!

我目前正在研究從DocBook到apache fo(然后再到PDF)的XSLT轉換,但是我在為一張桌子苦苦掙扎。

這是我的樣式表的相關部分。

<fo:block>
  <fo:table border-style="none" border-width="0pt">    
    <fo:table-column column-width="20%"/>
    <fo:table-column column-width="80%"/>                  
     <fo:table-body>                                               
       <fo:table-row>                                             
         <fo:table-cell border-style="solid" border-width="1pt" text-align="start" padding-left="0cm"> 
           <fo:block font-weight="bold">First Column <xsl:text> </xsl:text> <xsl:number level="multiple" count="d:appnote" format="1"/>
            </fo:block>                         
         </fo:table-cell>                         
         <fo:table-cell  border-style="solid" border-width="1pt" text-align="start"> 
           <fo:block><xsl:value-of select="d:description" /></fo:block>
         </fo:table-cell>                        
      </fo:table-row>
    </fo:table-body>
  </fo:table>
</fo:block>

不幸的是,結果表在表的左邊框和文本開頭之間顯示了相當大的邊距(即使我設置了padding-left =“ 0cm”)

在此處輸入圖片說明

我嘗試了十二種不同的屬性和選項,但無法擺脫這種空白。
有人給我小費嗎?

start-indent屬性由設置該屬性的子元素的后代FO元素繼承 ,這有時會導致一些違反直覺的結果。

顯然並非所有實現方式都具有相同的行為,因此FOP的站點上有一個特定的FAQ條目: 當我使用邊距時,嵌套表或塊容器中的內容會縮進兩次。 這是錯誤嗎?


因此,在您的情況下,表格單元格的內容很可能繼承了祖先元素(甚至是非常遠的元素)上設置的start-indent

如果是這種情況,您可以在fo:table-body上添加一個start-indent="0pt"屬性,以將其“重置”為0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM