2013-10-31 6 views
1

텍스트를 가운데에 정렬해야합니다. 불행히도 모든 텍스트가 셀 하단에 표시됩니다. 여기 내 샘플 코드는 다음과 같습니다.itext에 가운데 맞춤 텍스트 Pdf 테이블 셀

String line = br.readLine(); 
Font f2 = new Font(Font.NORMAL, 12, Font.BOLD); 
f2.setColor(Color.BLACK); 
Paragraph p1 = new Paragraph(line, f2); 
p1.setAlignment(Element.TABLE); 
PdfPTable table = new PdfPTable(1); 
table.setWidthPercentage(100); 
PdfPCell cell = new PdfPCell(); 
cell.setBorder(Rectangle.NO_BORDER); 
cell.setBorderWidthBottom(1f); 
cell.setUseBorderPadding(true); 
cell.setPadding(0); 
cell.setBorderColor(new java.awt.Color(255, 255, 255)); 
cell.addElement(p1); 
table.addCell(cell); 
output.add(table); 

셀 안쪽에 텍스트가 세로로 배치되어 있어야합니다. 도와주세요.

답변

4

는 공유 조각에 몇 가지 오류가 있습니다. 내가 코드를 적용하고 여기에 예를 게시 한 : 변화의 http://itextpdf.com/sandbox/tables/CenteredTextInCell

감소 개요 :

당신이 글꼴이 잘못, 또는 당신이 정말이 iText의 버전을 사용하고 정의하는 방법, 정말 늙었 어.

다음 줄은 정말하지 않습니다 의미 :이 iText를에서 그런 값입니다 (하나가 사용이 있지만, 정말 오래 전에 제거 된)하고 아무튼 evenso

p1.setAlignment(Element.TABLE); 

정렬을 정의 할 때 객체 유형을 정의하기 위해 예약 된 값을 사용하는 것이 합리적입니다.

당신은 경계하지 않으려면 :

cell.setBorderWidthBottom(1f); 
cell.setUseBorderPadding(true); 
cell.setBorderColor(new java.awt.Color(255, 255, 255)); 

당신이 수직 정렬을 정의 할 필요가 라인 : 국경 폭, 패딩 또는 색상을 정의하는 것이 이해가되지 않습니다

cell.setBorder(Rectangle.NO_BORDER); 

을 is :

cell.setVerticalAlignment(Element.ALIGN_MIDDLE); 
2

cell.setVerticalAlignment(Element.ALIGN_MIDDLE);

관련 문제