2016-07-22 16 views
2

Apache FOPでPDFを生成していますが、いくつかのセルに点線の枠がいくつかあります。しかし、境界の背景は表そのものではなく、セルではなく、むしろ奇妙なIMHOです。Apache FOPに点線の背景があります

これは単純な例です:

<?xml version="1.0" encoding="UTF-8" ?> 
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xml:lang="en"> 
    <fo:layout-master-set> 
     <fo:simple-page-master master-name="A4-landscape" page-height="210mm" page-width="297mm"> 
      <fo:region-body margin-top="15mm" margin-bottom="15mm" margin-left="15mm" margin-right="15mm" /> 
      <fo:region-before region-name="docHeader"/> 
      <fo:region-after region-name="docFooter" extent="15mm" /> 
     </fo:simple-page-master> 
    </fo:layout-master-set> 
    <fo:page-sequence master-reference="A4-landscape" initial-page-number="1"> 
     <fo:flow flow-name="xsl-region-body"> 
      <fo:block> 
       <fo:table table-layout="fixed" break-after="page" background-color="red"> 
        <fo:table-column column-width="100.0mm" /> 
        <fo:table-body> 
         <fo:table-row height="25.0mm"> 
          <fo:table-cell text-align="center" display-align="center" background-color="blue" border-top="0.35277778mm dotted green" 
              border-bottom="0.35277778mm solid rgb(0,0,0)" 
              border-left="0.35277778mm solid rgb(0,0,0)" 
              border-right="0.35277778mm solid rgb(0,0,0)"> 
           <fo:block-container overflow="hidden"> 
            <fo:block wrap-option="no-wrap">test</fo:block> 
           </fo:block-container> 
          </fo:table-cell> 
         </fo:table-row> 
        </fo:table-body> 
       </fo:table> 
      </fo:block> 
      <fo:block id="endOfDoc"></fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
</fo:root> 

そして、これが結果です:

The border background is red and not blue.

は、あなたがどのように境界線の背景色を設定するために、任意のアイデアを持っていますか? IDこれは通常の動作ですか?

答えて

4

はい、これは正常な動作です。境界線の内側にセルが描画され、点線の境界線が分割されます。 RenderX XEPをマイターコーナーで使用すると、何が起こるかが少し分かります。コーナーのこのズーム画像を見てください:

enter image description here

さて、あなたは一つの選択肢としてやっていることを周りにジャグリングしようとすることができます。このように:

  <fo:table table-layout="fixed" break-after="page" background-color="red"> 
       <fo:table-column column-width="100.0mm" /> 
       <fo:table-body> 
        <fo:table-row> 
         <fo:table-cell background-color="blue" display-align="center" 
          border-bottom="0.35277778mm solid rgb(0,0,0)" 
          border-left="0.35277778mm solid rgb(0,0,0)" 
          border-right="0.35277778mm solid rgb(0,0,0)"> 
          <fo:block-container height="25.0mm" overflow="hidden" border-top="0.35277778mm dotted green" text-align="center" > 
           <fo:block wrap-option="no-wrap">test</fo:block> 
          </fo:block-container> 
         </fo:table-cell> 
        </fo:table-row> 
       </fo:table-body> 
      </fo:table> 

、あなたがこの得るでしょう:

enter image description here

関連する問題