2013-05-17 4 views
1

좋은 하루
상단 국경 반경을 적용 XSL을-FO
XSL-FO 내가이 가지고

<fo:table table-layout="fixed" border-width="0.2mm" border-color="#330099" border-style="groove" 
      border-collapse="separate" background-color="white" line-height="16pt" space-before.optimum="10pt" 
      space-after.optimum="6pt" text-align="left" >  
       <fo:table-column column-width="37mm"/> 
       <fo:table-column column-width="37mm"/> 
       <fo:table-column column-width="37mm"/> 
       <fo:table-column column-width="37mm"/> 
       <fo:table-column column-width="37mm"/> 
       <!-- <fo:table-column column-width="38mm"/> --> 
     <fo:table-body> 
      <fo:table-row> 
       <fo:table-cell border-width="0.01mm" border-color="#330099" border-style="groove" background-color="lightgrey"> 
        <fo:block text-align="left" color="#000000" font-size="8pt" font-weight="bold">Account Number</fo:block> 
       </fo:table-cell> 
       <fo:table-cell border-width="0.01mm" border-color="#330099" border-style="groove" background-color="lightgrey"> 
        <fo:block text-align="left" color="#000000" font-size="8pt" font-weight="bold">Customer Id</fo:block> 
       </fo:table-cell> 
       <fo:table-cell border-width="0.01mm" border-color="#330099" border-style="groove" background-color="lightgrey"> 
        <fo:block text-align="left" color="#000000" font-size="8pt" font-weight="bold">Account Currency</fo:block> 
       </fo:table-cell> 
       <fo:table-cell border-width="0.01mm" border-color="#330099" border-style="groove" background-color="lightgrey"> 
        <fo:block text-align="right" color="#000000" font-size="8pt" font-weight="bold">Opening Balance</fo:block> 
       </fo:table-cell> 
       <fo:table-cell border-width="0.01mm" border-color="#330099" border-style="groove" background-color="lightgrey"> 
        <fo:block text-align="right" color="#000000" font-size="8pt" font-weight="bold">Closing Balance</fo:block> 
       </fo:table-cell> 
      </fo:table-row> 

</fo:table-body> 
</fo:table> 


내 질문 :이 테이블
테두리를 rouding 적용 할이 가능합니다 border-radius?
또는 다른 방법?

+1

FOP를 사용합니까? http://xmlgraphics.apache.org/fop/trunk/extensions.html#rounded-corners 및 http://wiki.apache.org/xmlgraphics-fop/RoundedBorders (나를 테스트하지 않음)를 참조하십시오. – mzjn

답변

1

옵션 1) 최상 : 각 모서리에 대해 작은 SVG 이미지를 만든 다음 테이블 안의 테이블을 사용하여 서식을 지정합니다. 바깥 쪽 테이블의 왼쪽/오른쪽 열이 작고 중앙에 큰 셀이있는 위쪽/아래쪽 행이 있습니다. . 테이블 중앙에있는 큰 셀에 테이블을 넣으십시오. 네 개의 둥근 모서리 이미지와 적절한 테두리 적용만으로도이 작업을 수행 할 수 있습니다. 이 구조를 사용하여 페이지를 가로 지르는 표를 가로 질러 이동하려면 코너 이미지가 XSL FO의 머리글/바닥 글에 있어야합니다.

옵션 2) 거의 비슷합니다. 테이블의 너비를 알면 테이블의 위쪽과 아래쪽에 둥근 모서리와 선이있는 단 한 줄의 행을 넣은 다음 그 주위의 테이블을 왼쪽/오른쪽 오른쪽 테두리에 맞춰 모든 주위를 둘러 볼 수 있습니다. 표의 시작/정지 지점에 하나의 행과 셀 (모든 열을 스팬) 만 추가하십시오.

옵션 3) 상황에 따라 ... 테이블의 높이와 너비가 상당히 일정한 경우 테이블 또는 블록을 둘러싸는 블록에 둥근 모서리 SVG 이미지를 배경 이미지로 사용할 수 있습니다. 폭과 높이에 맞게 크기를 조절할 수 있습니다. 이 방법은 모서리의 곡선을 왜곡시킬 수 있기 때문에 손이 닿기 전에 표의 크기를 알 수있을 때만 작동합니다 (또는 적어도 근사치를 지정할 수 있습니다.이 방법은 높이가 가변적 인 문서에서도 사용했지만 수학적으로 알려진 ... 즉, 테이블은 5 행 또는 10 행을 가질 수 있습니다. 그러나 너비는 항상 일관 적이었습니다 ... XSL은 행을 "계산"하고 배경에 적합한 외부 SVG를 선택하는 데 사용됩니다 (예 : 표 -bg-row-5.svg ... table-bg-row-10.svg)

XSL FO에서는 확장 기능이 없어도이 중 일부 또는 전부를 수행 할 수 있으며 모든 유형의 사용자 정의 테두리를 만들 수 있습니다. 테이블, 둥근 모서리가 아님

1

공백으로 = 5mm 공백 - 후 = 5mm으로 시도하십시오.

fo 블록 태그에서 space-after = 5mm를 사용할 수 있습니다. 예

<fo:block space-after=5mm>Something</fo-block> 
<fo:block>SomethingSomething</fo:block> 

첫 번째 줄에는 "Something"텍스트 뒤에 5mm의 공백이 생깁니다.

1

시도해보십시오. <fo:block space-after=5mm space-before=5mm>to get space both front and end/fo-block>