본문 바로가기

Spring Boot

[SpringBoot] iText7으로 PDF출력 (샘플 이미지, 표 추가 소스)

반응형

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();
  }
}

 

반응형