봉투로 자동 포장되는 문서를 작성 중입니다.n 번째 페이지마다 무언가를 인쇄하십시오.
이 목적을 위해 문서에는 매 5 페이지마다 마지막 페이지에 마커가 있어야합니다.
문제는 AFAIK, XSL이 FO에서 제공 한 < fo : page>에 의존 할 수 없다는 것입니다.
누구나 해결책을 생각할 수 있습니까?
봉투로 자동 포장되는 문서를 작성 중입니다.n 번째 페이지마다 무언가를 인쇄하십시오.
이 목적을 위해 문서에는 매 5 페이지마다 마지막 페이지에 마커가 있어야합니다.
문제는 AFAIK, XSL이 FO에서 제공 한 < fo : page>에 의존 할 수 없다는 것입니다.
누구나 해결책을 생각할 수 있습니까?
내가 할 수있는 최선의 방법은 최대 페이지 수를 처리하기 위해 충분한 수의 반복을 fo:page-sequence-master
에 넣어야한다는 것입니다. 작은 스크린 샷을 만드는 위해서
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
font-size="36pt">
<fo:layout-master-set>
<fo:simple-page-master master-name="spm" page-width="5in" page-height="5in">
<fo:region-body margin="36pt"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="marked" page-width="5in" page-height="5in">
<fo:region-body margin="36pt"/>
<fo:region-start extent="36pt"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="psm">
<fo:repeatable-page-master-alternatives maximum-repeats="2">
<fo:conditional-page-master-reference master-reference="marked" page-position="last"/>
<fo:conditional-page-master-reference master-reference="spm"/>
</fo:repeatable-page-master-alternatives>
<fo:single-page-master-reference master-reference="marked"/>
<fo:repeatable-page-master-alternatives maximum-repeats="2">
<fo:conditional-page-master-reference master-reference="marked" page-position="last"/>
<fo:conditional-page-master-reference master-reference="spm"/>
</fo:repeatable-page-master-alternatives>
<fo:single-page-master-reference master-reference="marked"/>
<!-- Repeat as often as necessary. -->
<fo:repeatable-page-master-alternatives maximum-repeats="2">
<fo:conditional-page-master-reference master-reference="marked" page-position="last"/>
<fo:conditional-page-master-reference master-reference="spm"/>
</fo:repeatable-page-master-alternatives>
<fo:single-page-master-reference master-reference="marked"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="psm">
<fo:static-content flow-name="xsl-region-start">
<fo:block margin-top="2in"><fo:external-graphic width="100%" src="logo-antenna.svg" content-width="scale-down-to-fit"/></fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block break-after="page">1</fo:block>
<fo:block break-after="page">2</fo:block>
<fo:block break-after="page">3</fo:block>
<fo:block break-after="page">4</fo:block>
<fo:block>5</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
이것은 내 솔루션에 매우 가깝다. 단 하나의 차이점은 표시된 페이지에도 반복 가능한 페이지 시퀀스를 사용했다는 점이다. 최대 반복 수는 1이고, 필요하지 않더라도이 페이지가 추가 될까봐 두려워하기 때문이다. 친절하고 깨끗한 답변 주셔서 감사합니다! –
당신이 사용하는 어떤 FO 프로세서? –
fop, 나는 그것을 언급하지 않아서 유감 스럽다는 것을 몰랐다. 그건 그렇고 솔루션을 찾았지만 특정 페이지 수로 제한됩니다. 게시해야합니까? –
FOP에서 생성 된 영역 트리를 조사 할 수 있습니다. (OP 영역 트리 샘플 검색) 중간 중간 형식을 나타냅니다. 여기에는 페이지 객체가 포함되며 영역 트리를 조작하고 형식을 계속하여 마크를 삽입 할 수 있습니다. –