반응형
import java.awt.image.BufferedImage;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFImageWriter;
public class Pdftoimg {
public static void main(String[] args) {
extractPagesAsImage("redpdf.pdf", 300, "");
}
/**
* PDF파일 이미지 출력
* @param sourceFile 대상 PDF파일 경로 및 파일
* @param resolution 출력 해상도
* @param password 문서 비밀번호
* @return
*/
public static boolean extractPagesAsImage(String sourceFile, int resolution, String password) {
boolean result = false;
//출력이미지 확장자
String imageFormat = "gif";
int pdfPageCn = 0;
PDDocument pdfDoc = null;
try {
//PDF파일 정보 취득
pdfDoc = PDDocument.load(sourceFile);
//PDF파일 총페이지 수 취득
pdfPageCn = pdfDoc.getNumberOfPages();
System.out.println("PDF파일 총페이지 수 : " + pdfPageCn);
} catch (IOException ioe) {
System.out.println("PDF 정보취득 실패 : " + ioe.getMessage());
}
PDFImageWriter imageWriter = new PDFImageWriter();
try {
result = imageWriter.writeImage(pdfDoc,
imageFormat,
password,
1, //이미지 출력 시작페이지
5, //이미지 출력 종료페이지
//저장파일위치 및 파일명 지정 TEST+페이지 "TEST1.gif" 파일저장
"TEST",
BufferedImage.TYPE_INT_RGB,
resolution //이미지 품질 300 추천
);
} catch (IOException ioe) {
System.out.println("PDF 이미지저장 실패 : " + ioe.getMessage());
}
return result;
}
}
반응형
'DEMO CODE > JAVA 활용' 카테고리의 다른 글
JAVA 이메일보내기 (0) | 2020.05.07 |
---|---|
[JAVA] 이메일전송 (0) | 2014.01.14 |
[JAVA] POI 엑셀파일 쓰기 ( .xls .xlsx 확장자 ) (1) | 2014.01.10 |
[JAVA] POI 엑셀파일 읽기 ( .xlsx 확장자 ) (0) | 2014.01.10 |
[JAVA] POI 엑셀파일 읽기 ( .xls 확장자 ) (2) | 2014.01.10 |