2012-12-11 2 views
1

다음 형식으로 reportLab에 테이블을 레이아웃하려고합니다. 테이블은 동적이며 많은 행을 가질 수 있습니다.PDF 페이지 전체에 걸쳐 모든 행이 분할 된 열이있는 ReportLab 테이블?

--------- 
| a | b | 
|---| | 
| a | | 
|---| | 
| a | | 
--------- 

tTableStyle = [("SPAN '(1,0), (1, -1))]

서지 아름답게 테이블이 한 페이지에 적합하지만, 만약 충돌이 발생한다면 표가 페이지 위로 나뉩니다. 스팬이 없으면 테이블이 잘 쪼개 지지만 두 번째 열의 눈금 선이 붙어 있습니다.

here은 자동으로 페이지간에 SPAN을 수행 할 수 없지만이 문제를 해결하는 방법을 알 수없는 알고리즘 때문이라고 읽었습니다.

각 페이지에 표시되는 행 수를 가져 와서 -1 대신 사용할 수 있습니까? 예. X = rows_on_page1, Y =의 rows_on_page2 다음 TABLESTYLE에서 나는 수동으로 테이블을 만들 제안 된 것

('SPAN',(1,0),(1, x)), 
('SPAN',(1,x+1),(1,y)) 

같은 뭔가를 할 수 있지만 방법을 잘 모르겠어요. 어떤 도움을 주셔서 감사합니다.

답변

1

내가 사용한 솔루션은 확장을 시도하는 것을 무시하고 내가 원하는 선을 그리기 위해 상자 코드를 사용하는 것이 었습니다.

('INNERGRID', (0,0), (0,-1), colors.grey), # gridlines for first column 
('BOX', (0,0), (-1,-1), 0.25, colors.grey), # outer border 
('BOX', (0,0), (0,-1), 0.25, colors.grey), # inner border 
("LINEBELOW", (0, 'splitlast'), (-1, 'splitlast'), 0, colors.grey), # draw bottom line on table split 
+0

서로 다른 열 집합 사이에 공백이없는 테이블 집합을 만들 수 있습니다 – radtek

관련 문제