2013-04-18 1 views
1

여러 챕터가있는 PDF를 생성하는 Apache FOP를 사용하여 응용 프로그램을 작성했습니다. 내가 알 수있는 방법이 있는가? 어떤 장이 어떤 페이지에 나타나는지. 사실, 나는 처음부터 색인을 작성해야하는데, 어떤 장이 어떤 페이지에 나타나는지 알려줍니다.Apache FOP로 만든 PDF에 색인 페이지 추가

답변

1

페이지 번호를 알 필요가있는 요소에 ID를 입력 한 다음 <fo:page-number-citation ref-id="id"/>을 사용하여 참조 할 수 있습니다.

예 : ID 당신이 때 블록을 준 다음

<xsl:for-each select="chapter"> 
    <fo:block id="{generate-id(.)}"> 
     <xsl:value-of select="@title"/> 
    </fo:block> 
</xsl:for-each> 
  • , 참조 :

    1. 이 장의 제목을 포함하는 각 블록에 자동으로 생성 된 ID와 ID를 넣어 처음에 동일한 입력 요소를 반복하면서 색인이있는 위치 :

      <xsl:for-each select="chapter"> 
          <fo:block id="{generate-id(.)}"> 
           <fo:page-number-citation ref-id="{generate-id(.)}"/> 
          </fo:block> 
      </xsl:for-each> 
      

    실제 내용보다 먼저 색인이 생성되는지 여부는 XSL 구문 분석기에서 계산되므로 FOP는 페이지 레이아웃 (따라서 페이지 번호)이 결정되었습니다.