2017-12-14 7 views
0

XML을 R4i 도구에서 xsl을 사용하여 스타일링하여 PDF 출력으로 변환하고 있습니다. PDF 문서는 그림 노드 (A3 크기 여야 함)를 제외한 전체 크기가 A4 크기 여야합니다. XML에 그림 노드가있을 때마다 새 A3 페이지에 있어야합니다. 나머지 XML 문서는 A4에서 계속 사용됩니다. 그림 태그는 어느 수준이든 상관 없습니다. 어떻게 우리가 xsl을 사용하여 이것을 달성 할 수 있는가? 샘플 XML : - 당신은 XSL-FO 스타일 시트를 편집해야하므로xml의 특정 노드를 xsl..rest를 통해 A3 크기로 표시하는 방법

<content> 
     <refs> 
     <dmRef> 
      <dmRefIdent/> 
     </dmRef> 
     </refs> 
     <description> 
     <description> 
      **<figure id="fig-0003"> 
       <title>XXXX</title> 
        <graphic id="fig-0003-gra-0001" infoEntityIdent="b.png"/> 
        <graphic id="fig-0003-gra-0002" infoEntityIdent="b.png" /> 
      </figure>** 
     </description> 
     <levelledPara id="par-0001"> 
      <figure id="fig-0002"> 
       <title>XXXX</title> 
        <graphic id="fig-0003-gra-0001" infoEntityIdent="a.png"/> 
        <graphic id="fig-0003-gra-0002" infoEntityIdent="a.png" /> 
      </figure>   
     </levelledPara> 
     <levelledPara id="par-0002"> 
     </levelledPara> 
     <levelledPara id="par-0003"> 
      <para> 
       <internalRef internalRefId="fig-0003" internalRefTargetType="ir01"/> XXXX </para> 
      </levelledPara> 
      **<figure id="fig-0003"> 
       <title>XXXX</title> 
        <graphic id="fig-0003-gra-0001" infoEntityIdent="b.png"/> 
        <graphic id="fig-0003-gra-0002" infoEntityIdent="b.png" /> 
      </figure>** 
     </description> 
    </content> 

답변

1

R4i의는 XSL-FO를 사용합니다.

이 .xslt 파일은 페이지 크기에 대한이 같은 진술을 포함 당신은 새로운 간단한 페이지 마스터와 A3의 새로운 페이지 순서 마스터를 만들 필요가

<fo:simple-page-master master-name="cover" page-height="297mm" page-width="210mm" margin="0mm"> 

<fo:page-sequence-master master-name="index"> 
    <fo:repeatable-page-master-alternatives> 
    <fo:conditional-page-master-reference master-reference="page_odd" page-position="any" blank-or-not-blank="not-blank"/> 
    <fo:conditional-page-master-reference master-reference="page_blank" page-position="any" blank-or-not-blank="blank"/> 
</fo:repeatable-page-master-alternatives> 
</fo:page-sequence-master> 

. 그런 다음 figure 노드가 새로운 주인에 연결해야합니다 제안에 대한

<fo:page-sequence master-reference="A3"> 
+0

감사 :

figure 노드를 처리하는 템플릿의 부분에서

는 페이지 순서 마스터를 연결하는 명령이 있습니다. 위치와 레벨에 관계없이 A3 마스터 참조를 모든 피겨 노드에 어떻게 연결할 수 있습니까? 그림 템플릿에는 페이지 나누기가 있습니다. 정상적인 페이지 나누기는 콘텐츠 노드에 있습니다. –

+0

@AnkurMukherjee A4 fo : page-sequence와 독립적 인 A3 fo : page-sequence를 생성하는 것은 어려울 것입니다. 정상적인 방법으로 스타일 시트를 만들면 두 개의 A3 fo : page-sequence가 A4 fo : page-sequence에 중첩됩니다. 이 경우 [PSMI] (https://cranesoftwrights.github.io/resources/psmi/index.htm) 기술을 사용하는 것이 유용합니다. 나는 XSL-FO의 post-presessing을 위해 항상이 스타일 시트를 사용한다. – tmakita

+0

R4i에서 어떤 XSLFO 프로세서를 사용하고 있는지 알 수 없습니다. 현재 버전의 Antennahouse Formatter를 사용하는 경우 PSMI없이 페이지 시퀀스를 중첩 할 수 있습니다. – Hobbes

관련 문제