[java] PDF 파일을 다른 형식으로 변환하기(Java Apache PDFBox 사용)
PDF 파일은 문서를 공유하고 저장하는 데 매우 편리한 형식입니다. 그러나 때로는 PDF 파일을 다른 형식으로 변환해야 할 수도 있습니다. 이 글에서는 Java Apache PDFBox 라이브러리를 사용하여 PDF 파일을 다른 형식으로 변환하는 방법을 알아보겠습니다.
준비물
- Apache PDFBox 라이브러리: 여기에서 다운로드 가능합니다.
PDF 파일을 텍스트로 변환하기
PDF 파일을 텍스트 형식으로 변환하려면 다음과 같은 단계를 따르세요.
- Apache PDFBox 라이브러리를 프로젝트에 추가하세요.
- 변환할 PDF 파일을 지정하세요.
PDFTextStripper
클래스를 사용하여 텍스트를 추출하세요.- 추출된 텍스트를 원하는 형식으로 저장하세요.
다음은 PDF 파일을 텍스트로 변환하는 예제 코드입니다.
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class PDFToTextConverter {
public static void main(String[] args) {
try {
// 변환할 PDF 파일 경로 지정
File file = new File("경로/파일명.pdf");
// PDF 파일 열기
PDDocument document = PDDocument.load(file);
// 텍스트 추출
PDFTextStripper textStripper = new PDFTextStripper();
String text = textStripper.getText(document);
// 추출된 텍스트 저장
File output = new File("경로/출력파일명.txt");
FileUtils.writeStringToFile(output, text, "UTF-8");
// PDF 파일 닫기
document.close();
System.out.println("PDF 파일이 텍스트로 변환되었습니다.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
PDF 파일을 이미지로 변환하기
PDF 파일을 이미지 형식으로 변환하려면 다음과 같은 단계를 따르세요.
- Apache PDFBox 라이브러리를 프로젝트에 추가하세요.
- 변환할 PDF 파일을 지정하세요.
PDFRenderer
클래스를 사용하여 각 페이지를 이미지로 렌더링하세요.- 렌더링된 이미지를 원하는 형식으로 저장하세요.
다음은 PDF 파일을 이미지로 변환하는 예제 코드입니다.
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
public class PDFToImageConverter {
public static void main(String[] args) {
try {
// 변환할 PDF 파일 경로 지정
File file = new File("경로/파일명.pdf");
// PDF 파일 열기
PDDocument document = PDDocument.load(file);
// PDF 파일을 이미지로 변환
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int pageNumber = 0; pageNumber < document.getNumberOfPages(); pageNumber++) {
BufferedImage image = pdfRenderer.renderImageWithDPI(pageNumber, 300); // DPI 설정
// 이미지 저장
ImageIO.write(image, "PNG", new File("경로/출력파일명_" + (pageNumber + 1) + ".png"));
}
// PDF 파일 닫기
document.close();
System.out.println("PDF 파일이 이미지로 변환되었습니다.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
이제 PDF 파일을 다른 형식으로 변환하는 방법을 알았습니다. Apache PDFBox를 사용하면 텍스트나 이미지 외에도 다른 형식으로 변환하는 것도 가능합니다. 자세한 내용은 Apache PDFBox 문서를 참고하세요.
Happy coding!