[java] Apache PDFBox를 이용한 워터마크 추가
Apache PDFBox는 Java로 PDF 파일을 조작하기 위한 라이브러리입니다. 이 라이브러리를 활용하여 PDF 파일에 워터마크(watermark)를 추가하는 방법을 알아보겠습니다.
Apache PDFBox 라이브러리 추가
먼저 Maven 프로젝트의 pom.xml
파일에 다음 의존성을 추가합니다.
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version>
</dependency>
그런 다음 Maven 프로젝트를 업데이트하여 PDFBox 라이브러리를 가져옵니다.
PDF에 워터마크 추가하기
이제 Apache PDFBox를 사용하여 PDF에 워터마크를 추가하는 방법을 알아봅시다. 다음은 간단한 예제 코드입니다.
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import java.io.File;
import java.io.IOException;
public class PdfWatermark {
public static void main(String[] args) throws IOException {
String pdfFilePath = "path_to_existing_pdf.pdf";
String outputPdfFilePath = "path_to_output_pdf.pdf";
String watermarkText = "Confidential";
try (PDDocument document = PDDocument.load(new File(pdfFilePath))) {
for (int i = 0; i < document.getNumberOfPages(); i++) {
PDPageContentStream contentStream = new PDPageContentStream(document, document.getPage(i), PDPageContentStream.AppendMode.APPEND, true, true);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 36);
contentStream.setLeading(14.5f);
contentStream.newLineAtOffset(100, 400);
contentStream.showText(watermarkText);
contentStream.endText();
contentStream.close();
}
document.save(new File(outputPdfFilePath));
}
}
}
위의 예제 코드는 기존 PDF 파일에 “Confidential”이라는 워터마크를 추가합니다. 이 코드를 실행하면 새로운 PDF 파일에 워터마크가 적용된 것을 확인할 수 있습니다.
Apache PDFBox를 사용하면 PDF 파일을 손쉽게 조작할 수 있으며, 워터마크 추가 외에도 다양한 작업을 수행할 수 있습니다.
결론
Apache PDFBox를 사용하여 Java에서 PDF 파일에 워터마크를 추가하는 방법을 살펴보았습니다. 이를 통해 기존 PDF 파일을 보다 역동적으로 처리할 수 있는 가능성을 열어보았습니다.
더 자세한 내용은 Apache PDFBox 공식 웹사이트에서 확인할 수 있습니다.