2012-08-16 5 views
0

Java 및 iTextPdf를 사용하여 테이블을 만들어 여러 셀을 레이아웃했습니다. 나는이 셀 안의 텍스트 폰트를 어떻게 바꿀 수 있는지 알 수 없다. 그것은 내 아이들을위한 것이므로 Comic Sans MS를 사용하려고합니다. 모든 것이 컴파일되고 정상적으로 실행되지만 일반적인 글꼴 (아마도 Helvetica 또는 이와 비슷한 글꼴)을 얻게됩니다.iTextPdf : 비 내장 글꼴 사용

누구나 이런 글꼴을 생성하는 방법을 알고 계십니까? 감사! 당신은 FontFactory에 글꼴을 가져온 다음이 또한 PDF에 글꼴을 포함합니다

String filename = "Comic Sans MS.ttf"; 
    FontFactory.register(filename, filename); 
    Font font = FontFactory.getFont(filename, BaseFont.CP1252, BaseFont.EMBEDDED); 

로 사용할 수 있습니다

import com.itextpdf.text.FontFactory; 
import com.itextpdf.text.pdf.FontSelector; 

public static PdfPTable createTable() { 
     FontSelector selector = new FontSelector(); 
     selector.addFont(FontFactory.getFont("Comic Sans MS")); 
     PdfPTable table = new PdfPTable(3); 
     PdfPCell cell; 
     Phrase ph; 

     ph = selector.process("My Title"); 
     cell = new PdfPCell(ph); 
     table.addCell(cell); 
     return table; 
+2

'FontFactory'가'Comic Sans MS '글꼴을 알지 못했을 수 있습니다. 'FontFactory.getRegisteredFonts()'는 FontFactory가 렌더링하는 방법을 알고있는 모든 글꼴 이름의 목록을 반환해야합니다. –

+0

감사합니다. 네가 옳아. getRegisteredFonts()가 반환하는 모든 글꼴을 실행하면 Comic Sans MS에 대한 언급이 없습니다. 나는 이미 그들의 문서를보고이 사실을 이미 알고 있었다. 그러나 Comic Sans MS는 내 시스템 글꼴 폴더에 있습니다. 내 시스템의 글꼴을 그리는 방법이 있습니까? 아니면 FontFactory의 포함 된 글꼴로 제한됩니까? 감사! – Alex

답변

0

: 여기

내가 쓴의 축소 버전이다 파일이므로 대상 PDF 판독기에이 글꼴이 설치되어 있지 않아도 작동합니다.