Spring Boot
[SpringBoot] iText7으로 PDF출력 (샘플 이미지, 표 추가 소스)
도쿄아재
2023. 2. 10. 09:03
반응형
1. iText 라이브러리를 pom.xml 파일의 프로젝트 종속성에 추가합니다
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.13</version>
</dependency>
2. Spring Boot 애플리케이션에서 PDF를 생성할 서비스 또는 컨트롤러를 생성합니다. 이 예에서는 서비스를 생성합니다.
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
import com.itextpdf.layout.element.Table;
import org.springframework.stereotype.Service;
@Service
public class PdfGeneratorService {
public void generatePdf(String fileName) throws IOException {
// Create a PDF writer
PdfWriter writer = new PdfWriter(fileName);
// Create a PDF document
PdfDocument pdf = new PdfDocument(writer);
// Create a layout document
Document document = new Document(pdf);
// Add an image
Image image = new Image(ImageDataFactory.create("src/main/resources/image.jpg"));
document.add(image);
// Add a table
Table table = new Table(3);
table.addCell("Column 1");
table.addCell("Column 2");
table.addCell("Column 3");
table.addCell("Row 1, Column 1");
table.addCell("Row 1, Column 2");
table.addCell("Row 1, Column 3");
table.addCell("Row 2, Column 1");
table.addCell("Row 2, Column 2");
table.addCell("Row 2, Column 3");
document.add(table);
// Close the document
document.close();
}
}
반응형