2011-08-30 2 views
0

XSL-FO를 통해 PDF 문서를 생성 중입니다. 나는이 같은 간단한 XHTML 구조가 있습니다XSL-FO 페이지 나누기 문제로 한 페이지 만 생성됩니까?

<body> 
<h2><center>Status</center></h2> 
<table border="0"> 
<colgroup span="5"></colgroup> 
<tr> 
    <td><h4>Aktion</h4></td> 
    <td><h4>Kommentar</h4></td> 
    <td><h4></h4></td> 
    <td><h4>Zeitpunkt</h4></td> 
    <td><h4>Benutzer</h4></td> 
</tr> 
<tr> 
    <td><h5>Mappe archiviert</h5></td> 
    <td><h5>QMSAA</h5></td> 
    <td><h5></h5></td> 
    <td><h5>26.07.2011 13:14</h5></td> 
    <td><h5>Mustermann, Peter</h5></td> 
</tr> 
<tr> 
    <td><h5>Mappe als pdf gedruckt.</h5></td> 
    <td><h5></h5></td> 
    <td><h5></h5></td> 
    <td><h5>26.07.2011 13:14</h5></td> 
    <td><h5>Mustermann, Peter</h5></td> 
</tr> 
.... 

을 그리고 난은 XSL-FO 테이블이 XHTML을 변환하는 스타일 시트를 FOP하기 위해 XHTML을 사용하고 있습니다. 이것은 대부분의 경우 작동하며이 경우 여기도 한 페이지의 콘텐츠가 있지만 적어도 두 페이지 이상이어야합니다.

2011년 8월 30일 9시 57분 36초 org.apache.fop.apps.FopFactoryConfigurator 정보를 구성 : 생성하는 동안 나는 다음과 같은 경고를 얻을 11 인치 2011년 8월 30일 9시 57분 : 기본 페이지 높이로 설정 : 36 org.apache.fop.apps.FopFactoryConfigurator configure 정보 : 기본 페이지 너비 : 8.26in으로 설정 30.08.2011 09:57:36 org.apache.fop.fo.flow.TableColumn bind WARNUNG : table- layout = "fixed"및 column-width unspecified => pr으로 되 돌림 oportional-column-width (1) 30.08.2011 09:57:37 org.apache.fop.layoutmgr.inline.ContentLayoutManager WARNUNG : 제목이 있습니다. 내용 없음 30.08.2011 09:57:37 org.apache.fop.layoutmgr.PageBreaker $ 1 notifyOverflow WARNUNG : 1 페이지의 region-body 내용이 block-progression dimension에서 사용 가능한 영역을 오버플로합니다. (fo : 페이지 시퀀스, 사용할 수있는 컨텍스트 정보 없음)

결과는 페이지의 맨 아래에 한 요소가 넘치는 한 페이지의 콘텐츠입니다. 그러나 나머지 내용은 손실되고 두 번째 페이지는 생성되지 않습니다. 여기에 문제가있을 수 무엇

The only page generated

  • ?
  • 한 표의 두 fo : table-row 요소 사이에서 페이지를 넘길 수 있습니까?
  • 두 번째 페이지가 생성되지 않는 이유는 무엇입니까?
+1

XSL-FO 문서를 표시 할 수 있습니까? 가능한 한 많이 줄이십시오. – mzjn

+0

불행히도 나는 일하고있는 시스템이 일종의 블랙 박스이기 때문에 그럴 수 없다. 나는 FO 코드를 생성하는 xsl 스타일 시트에 접근 할 수있다. 나는 그것을 게시하려고 노력할 것이다. – Chris

+0

XML 소스와 XSLT 스타일 시트가있는 경우 "블랙 박스"를 잊어 버리고 명령 줄에서 변환을 실행할 수 없습니까? – mzjn

답변

1

FO 문서의 표 셀 안에있는 블록의 keep-with-next.within-column 속성에 문제가 있습니다. "항상"값이 "자동"으로 바뀌면 FOP 1.0은 4 페이지를 출력합니다.

이것은 FOP의 버그 일 수 있습니다. 또한 XEP으로 FO 문서를 처리했으며 불만없이 4 페이지를 제작했습니다.

실제로 원하는 것은 테이블 행에 keep-together입니까?

또한 font-family<fo:page-sequence>의 빈 광고가 나타났습니다.

+0

감사합니다. 그러나 나는이 모든 것을 "자동"으로 변경했으며 이는 아무 것도 변경하지 않습니다. 또한 fo : block 요소에있는 모든 속성을 삭제했지만 여전히 동일한 결과를 얻습니다. – Chris

+0

어떤 FOP 버전을 사용하고 있습니까? – mzjn

+0

지금까지 버전 0.94를 사용하고 있었지만 질문으로 인해 오늘 버전 1.0과 그 라이브러리를 사용해 보았습니다. 여전히 같은 결과입니다. – Chris

0

질문에 대한 답변은 아니지만 오픈 소스 speedata Publisher을 사용할 수 있습니다.이 오픈 소스는 페이지 전체에 자동 테이블 나누기가 있습니다. XSL-FO 포맷터가 아니지만 비슷합니다. 현재 독일어로만 제공됩니다 (2012 년 봄에 변경 예정). 그러나 이것은 귀하에게 문제가되지 않습니다.

관련 문제