2010-07-27 2 views
2

를 조정하는 것은 내 문제, 난이XSL-FO : 테이블 레이아웃 여기

 
This is a column header (A) | Another Column header (B) | Header (C) | Another column Header (D) 
-------------------------------------------------------------------------------------------------- 
Value A      | Value B     | Value C | Value D 

것은이 열 A와 C의 값과 같은 테이블이 B의 값 반면에 매우 긴 될 수 있다고 D는 매우 짧을 수 있습니다. 이상적으로 나는 기본적으로 다음과 같은

 
This is a column header (A)    | Another  | Header (C)      | Another 
             | Column  |         | column 
             | header (B) |         | Header (D) 
---------------------------------------------------------------------------------------------------------- 
Value is very long and verbose, bla bla | Value B  | Value C - this to is quite long | Value D 
bla bla bla - see it wrapped   |    |         | 

처럼 보이는 전형적인 테이블을 싶습니다 내가 값에 우선에 을 포장하는 열 머리글을 싶습니다 - 헤더 또는 값이 랩 있다면 상관 없어 테이블 데이터 셀에. 나는 단순히 페이지 셀에 wrap-option="no-wrap" 속성을 적용 할 수 없습니다. 페이지가 모든 긴 텍스트를 수용 할만큼 충분히 넓지는 않습니다.

나는 열에 proportional-column-width 속성을 지정해 보았습니다. 그러나 어떤 상황에서 어떤 열이 가장 긴 텍스트를 포함할지 모르기 때문에 이상하지 않습니다.

내가 지금까지 생각해 낸 최선의 해결책은 명시 적으로 줄 머리글 텍스트에 줄 바꿈을 넣는 것입니다. 그러나이 방법은 원치 않는 부작용으로 인해 열 너비를 상당히 증가시키는 것으로 보입니다. 예를 들어 http://snipplr.com/view/37957/xslfo-to-make-a-table/을 참조하십시오. 이 출력은 http://imagebin.org/106996입니다. columns3, 4, 5, 6 및 7이 다소 넓은 패딩을 가지고있는 것처럼 보이는데, 이는 columns1과 2가 될 수있는 것보다 좁은 것을 의미합니다.

도움을 주시면 감사하겠습니다.

PS - 나는 아이 벡스 렌더링 엔진 http://www.xmlpdf.com

답변

1

난 당신이 사용중인 렌더링 엔진 모르겠어요을 사용하고 있습니다. 그러나 그것이 table-layout="auto" (대부분의 commersial 엔진이하는)을 지원한다면 이것은 당신이 얻는 결과보다 더 나은 결과를 줄 것입니다. 모든 줄 바꿈없이.

XSL specification for table-layout property 및 해당 CSS2 specification을 참조하십시오.

+0

저는 Ibex http://www.xmlpdf.com/을 사용하고 있습니다. 그것의 기본값은 table-layout = "auto"를 사용하는 것이지만 문서를 보는 것입니다. table-lyout = "fixed"를 시도해보고 더 나은 결과를 얻을 수 있는지 봅니다. –