반응형
1. 다음 종속성을 pom.xml 파일에 추가합니다.
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.20</version>
</dependency>
2. Spring Boot 애플리케이션에서 변환을 처리할 REST을 생성합니다.
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
import javax.imageio.ImageIO;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
public class PdfConversionController {
@PostMapping("/convert-to-image")
public ResponseEntity<byte[]> convertToImage(@RequestParam("file") MultipartFile file) throws IOException {
// Load the PDF file
PDDocument document = PDDocument.load(file.getInputStream());
// Render the PDF to images
PDFRenderer renderer = new PDFRenderer(document);
List<BufferedImage> images = renderer.render(0, document.getNumberOfPages(), ImageType.RGB);
// Write the images to a byte array
ByteArrayOutputStream baos = new ByteArrayOutputStream();
for (BufferedImage image : images) {
ImageIO.write(image, "png", baos);
}
document.close();
// Return the images as a response
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "image/png");
return ResponseEntity.ok().headers(headers).body(baos.toByteArray());
}
}
Apache PDFBox를 사용하여 PDD 문서로 로드한 다음 각 페이지를 PDFender를 사용하여 이미지로 변환합니다. 그런 다음 영상이 바이트 배열에 기록되고 응답에 바이트[]로 반환됩니다.
반응형
'Spring Boot' 카테고리의 다른 글
[JAVA] TCP/IP 데이터통신 데이터 암호화 서버,클라이언트 (0) | 2023.02.09 |
---|---|
[JAVA] TCP/IP 데이터통신 기본 서버,클라이언트 (0) | 2023.02.09 |
[Svelte + Springboot] Svelte에서 파일다운로드 구현 (0) | 2023.02.09 |
[Svelte + Springboot] Svelte에서 파일업로드 구현 (0) | 2023.02.09 |
[SpringBoot] MP4 파일을 M3U8 파일로 변환 (0) | 2023.02.09 |