pom.xml
에 하단 디펜던시 추가
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.22</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-tools</artifactId>
<version>2.0.22</version>
</dependency>
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.3.1</version>
</dependency>
- java 파일에 하단 소스 적용
MultipartFile multipartFile_ = multipartFile;
if("application/pdf".equals(multipartFile_.getContentType())) {
File file = newFile;
PDDocument document = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(document);
List<BufferedImage> bufferedImages = new ArrayList<BufferedImage>();
int width = 0, height = 0;
int pageCount = document.getNumberOfPages();
for(int page = 0; page<pageCount; page++) {
BufferedImage bim = renderer.renderImage(page);
bufferedImages.add(bim);
if(bim.getWidth() > width) width = bim.getWidth();
height += bim.getHeight();
}
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = (Graphics2D) bufferedImage.getGraphics();
graphics.setBackground(Color.WHITE);
int idx = 0;
for(BufferedImage obj : bufferedImages) {
if(idx == 0) height = 0;
graphics.drawImage(obj, 0, height, null);
height += obj.getHeight();
idx++;
}
ImageIO.write(bufferedImage, "png", file);
graphics.dispose();
if (document != null) {
document.close();
}
}
newFile 변수가 어딨는건가요 ㅠㅠ...