[java] Apache PDFBox를 이용한 폰트 처리

Apache PDFBox는 Java로 PDF 파일을 생성하고 수정하는 데 사용되는 오픈 소스 라이브러리입니다. 이 라이브러리를 사용하면 PDF 파일에 텍스트를 쓰고 폰트를 처리할 수 있습니다. 이 포스트에서는 Apache PDFBox를 사용하여 폰트를 처리하는 방법에 대해 알아보겠습니다.

1. Apache PDFBox 라이브러리 추가

먼저 Maven이나 Gradle과 같은 빌드 도구를 사용하여 Apache PDFBox를 프로젝트에 추가해야 합니다. Maven을 사용한다면 pom.xml에 다음 의존성을 추가합니다.

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>{version}</version>
</dependency>

Gradle을 사용한다면 build.gradle 파일에 다음과 같이 추가합니다.

implementation 'org.apache.pdfbox:pdfbox:{version}'

의존성을 추가한 후에는 빌드 도구를 이용하여 라이브러리를 다운로드하고 프로젝트를 빌드합니다.

2. 폰트 처리

Apache PDFBox를 사용하여 폰트를 처리하려면 다음과 같은 단계를 따릅니다.

2.1. 폰트 로딩

먼저, 사용할 폰트를 로드해야 합니다. 예를 들어, ‘NanumGothic’ 폰트를 로드하려면 다음과 같이 합니다.

PDFont font = PDType0Font.load(document, new File("/path/to/NanumGothic.ttf"));

여기서 documentPDDocument 객체이고, “/path/to/NanumGothic.ttf”는 로드할 폰트 파일의 경로입니다.

2.2. 폰트 설정

로드한 폰트를 텍스트에 적용하려면 PDFont 객체를 사용하여 PDPageContentStream에 폰트를 설정해야 합니다.

PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.setFont(font, 12);

2.3. 텍스트 작성

이제 설정한 폰트로 텍스트를 작성할 수 있습니다.

contentStream.beginText();
contentStream.newLineAtOffset(100, 700);
contentStream.showText("안녕, PDFBox!");
contentStream.endText();
contentStream.close();

마무리

Apache PDFBox를 사용하여 폰트를 처리하는 방법에 대해 알아보았습니다. 이를 참고하여 Java 프로젝트에서 PDF 파일을 생성하고 텍스트를 추가할 때 원하는 폰트를 사용할 수 있을 것입니다. 만약 추가적인 도움이 필요하다면 Apache PDFBox 공식 문서를 참고하시기 바랍니다.