[java] iText 라이브러리와 폰트 처리
웹 애플리케이션이나 모바일 앱에서 PDF를 생성하거나 수정해야 하는 경우가 있습니다. 그때 iText 라이브러리를 사용하면 간편하게 PDF를 다룰 수 있습니다. 그러나 때때로 포함된 폰트가 원하는대로 출력되지 않는 문제가 발생할 수 있습니다.
폰트 처리 문제
iText로 PDF를 생성하거나 편집할 때, 특히 아시아 언어 (예: 한국어, 중국어, 일본어 등)의 경우 폰트 처리에 주의해야 합니다. 기본 폰트를 사용하면 문자가 깨지거나 원하는 폰트로 표시되지 않을 수 있습니다.
커스텀 폰트 추가
커스텀 폰트를 추가하여 PDF에 원하는 폰트를 적용할 수 있습니다. 아래는 iText 7으로 한국어 폰트를 사용하는 간단한 예제입니다.
import com.itextpdf.io.font.PdfEncodings;
import com.itextpdf.io.font.constants.StandardFonts;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
public class KoreanFontExample {
public static void main(String[] args) throws Exception {
PdfDocument pdf = new PdfDocument(new PdfWriter("korean_font_example.pdf"));
Document document = new Document(pdf);
PdfFont koreanFont = PdfFontFactory.createFont("NanumGothic.ttf", PdfEncodings.IDENTITY_H, true);
document.setFont(koreanFont);
document.add(new Paragraph("안녕하세요, iText로 PDF에 한국어 폰트를 적용하는 예제입니다."));
document.close();
}
}
결론
iText 라이브러리를 사용하는 동안 폰트 처리에 신경써야 합니다. 필요에 따라 커스텀 폰트를 추가하여 원하는 폰트를 사용할 수 있습니다. 이는 다국어 PDF 작업에 있어서 중요한 고려 사항입니다.
참고 자료:
- iText 7 문서: https://itextpdf.com/en/resources/documentation/itext-7
- iText 7 Core API 레퍼런스: https://api.itextpdf.com/iText7/7.1.15/index.html
의견이 있거나 추가 문제에 대해 더 자세히 알고 싶으시면 언제든지 물어보십시오.