2011-08-01 2 views
4

iText (iTextSharp 5.1.1)를 사용하고 있는데 일부 테이블을 만들려고합니다.iText 테이블 PdfPCell이 여러 행에서 스패닝되는 것을 방지하는 방법

첫 번째 테이블 열은 여러 행에 걸쳐 있습니다. 이전 내용에 따라 열이 두 페이지로 분할되는 경우가 있습니다. 때로는 첫 번째 페이지에 한 행만 남기 때문에 열을 표시 할 수있을만큼 높지 않은 상태로 남겨 둡니다.

문서에 문서가 추가 된 경우 열이 두 페이지에 걸쳐 있는지 감지 할 수있는 방법이 없으므로이 동작을 방지하기 위해 일부 행을 채울 수 있습니다.

또는 어떤 상황에서도을 분할하지 말고 세포에 알릴 방법이 있습니까?

PdfPTable table = new PdfPTable(2); 
table.setSplitLate(true); // default value 
PdfPCell largeCell = 
     new PdfPCell(new Paragraph("Lorem ipsum dolor sit amet,\r\n" 
       + "consectetur adipiscing elit. Curabitur\r\n" 
       + "vel nisl quis turpis molestie blandit.\r\n" 
       + "Donec a ligula sit amet quam feugiat\r\n" 
       + "aliquet in id augue. Etiam placerat\r\n" 
       + "massa ac ligula dictum convallis.\r\n" 
       + "Mauris in leo quis lorem facilisis\r\n" 
       + "tincidunt. Praesent lorem libero,\r\n" 
       + "porttitor tincidunt egestas consequat,\r\n" 
       + "tempor quis erat. Sed lorem ipsum,\r\n" 
       + "posuere a ornare ac, viverra ut diam. In\r\n" 
       + "porta ultrices tristique. Nulla non libero\r\n" 
       + "a nisi pharetra consequat. Vestibulum\r\n" 
       + "nunc urna, lobortis id ultricies vitae,\r\n" 
       + "fermentum eu magna. Duis nibh lacus,\r\n" 
       + "adipiscing at tempor eget, interdum\r\n" + "quis libero.")); 

PdfPCell cell = new PdfPCell(new Paragraph("Long Column")); 
cell.setRowspan(5); 
table.addCell(cell); 
for (int i = 0; i < 5; i++) 
{ 
    table.addCell(largeCell); 
} 

을 그리고 그것은 아주 잘 Kornelije에 의해 질문으로 내가 사용하는 경우 ...은 "잘못"출력 만 생산 될 것이다 작동합니다

+0

샘플 PDF 또는 이미지를 게시하여 어떤 문제가 있는지 확인할 수 있습니까? 필자는 2 열'PdfPTable'을 만들고 5 행에 걸쳐있는'PdfPCell'을 추가했습니다. 그런 다음 테이블을 두 페이지로 확장하는 긴 텍스트가있는 5 개의 PdfPCells를 추가했습니다. (샘플 PDF 아래에 있습니다.) 스팬 된 셀의 내용은 예상되는 첫 번째 페이지의 맨 위에 나타나고 두 번째 페이지에는 첫 번째 열의 빈 공간이 있습니다. http://chris.vendiadvertising.com/Stackoverflow/6904151-RowSpanning/Output.pdf –

+0

예를 들어, 필자가 정말로 필요로하는 것은 네 번째 행이 중단되지 않고 대신 다른 페이지에 전체적으로 배치되어야한다는 것입니다 . 기본적으로 이는 두 페이지에 걸쳐 셀을 구분하지 않아야 함을 의미합니다. 내가 보장 할 수있는 것은 (셀 시나리오에서) 셀이 몇 줄 밖에되지 않기 때문에 페이지에 꼭 맞을 것입니다 (새 페이지의 시작 부분에 배치 된 경우). –

+0

또한 언급하지 않았지만 (관련이 없거나 아닐 수도 있음) 첫 번째 열 (여러 행에 걸쳐 있음)이 90도 회전되었습니다. –

답변

0

글쎄, 나는 자바에서 iText를 2.1.7로 예를 코딩 table.setSplitLate(false), 기본값은 true이므로 모든 것이 좋습니다.