2013-07-17 5 views
2

XSL-FO를 사용하여 PDF를 생성 할 때 문제가 발생했습니다.두 단락 단락을 페이지에 함께 보관하는 방법은 무엇입니까?

두 개의 열이있는 문서가 있고 페이지 나누기없이 한 페이지에 보관할 단락 (공백이있는 경우 페이지의 맨 아래에서 시작할 수 있음)을 만들고 싶습니다. 주된 목적은 단락을 다음 페이지로 옮기는 것입니다. 이전 내용이 동적이기 때문에 문단 앞에 page-break를 사용할 수 없습니다. 텍스트 자체에는 한 줄의 줄 바꿈이 있어야하며 (white-space-collapse = false) 줄 끝에 페이지의 두 열에 표시되도록 줄 바꿈이 있습니다. 나는 이미 시도하는 것 : 항상 단락에

  • 킵 함께-내 페이지 =하지만 아무것도 단락에 항상
  • 킵 함께 = 변경, 모든 것이 한 줄에 표시됩니다. 행간 간격 = 0으로 유지하고 열 내 간격 유지 = 0이면 모든 항목 (8 행의 텍스트)이 두 번째 페이지의 오른쪽 열에 들어가지만 이전 페이지의 왼쪽에 두 줄이 남습니다 o_0
  • 페이지 나누기 내측 = 단락을 피할뿐만 아니라, 열 틈을 처치

한 페이지에 유지하도록 수정되어야 단락의 기재 XSL-FO 번호 :

<fo:block font-family="Font name" font-size="8.5pt" font-weight="normal" keep-with-next.within-column="always" line-height="10.5pt" orphans="5" text-align="left" widows="5"> 
<fo:block white-space-collapse="false">TEXT IN TWO COLUMNS</fo:block> 

각 블록의 속성을 변경할 수 있지만 첫 번째 블록 만 변경하면 최적의 솔루션이됩니다. 사전에

감사합니다 :]

답변

2

keep-together.within-column="always"이 조상 블록에 지정된 경우 고아 라인을 떠나지 않고 필요하고 상속 재산이며 그래서 모든 블록에 지정 될 필요가 무엇을 제공해야합니다. 그러나 코드 스 니펫에서 상속되지 않은 keep-with-next=을 지정했습니다.

일부 속성 만 상속되며 전체가 상속되지는 않습니다. http://www.CraneSoftwrights.com/training/#pfux에서 무료로 다운로드 할 수있는 "시험 사용해보기"버전 인 XSL-FO 도서 440/441 페이지를 확인하십시오 (페이지 번호는 A4 버전 용이며 미국 문자 버전의 438/439 페이지 참조).

+0

불행히도 내가 말했듯이 텍스트가 두 개의 열로 표시되어야하므로이 속성을 사용할 수 없습니다. – atos88

+0

돌이켜 보면, 부동산이 전체 단락 모음에 어떤 영향을 미치는지 간과했습니다. 'keep-together.within-column = "always"속성은 각 개별 블럭에 적용되어야하며, 페이지 컬럼의 맨 아래에 고아가 된 라인을 방지하면서 블럭이 양쪽 페이지 컬럼에서 개별적으로 흐르도록 허용 할 것입니다. 저의 이전 제안은 모든 블록을 하나로 묶을 것입니다. 제 견해를 용서해주세요. –

1

당신은 그것은 먼저 이전 칼럼이 그에 따라 배열을 확인합니다

keep-with-previous.within-column="always" 

으로 노력했다.