푸터 콘텐츠로 바로가기
JAVA용 IRONPDF 사용

Java에서 템플릿을 사용하여 PDF를 생성하는 방법

IronPDF for Java의 뛰어난 기능 중 하나는 PDF 템플릿을 활용할 수 있다는 점입니다. PDF 템플릿은 동적 콘텐츠를 위한 자리 표시자가 포함된 미리 디자인된 PDF 파일입니다. IronPDF 사용하면 이러한 자리 표시자를 실제 데이터로 쉽게 바꿔 맞춤형 새 문서를 PDF 형식으로 생성할 수 있습니다.

IronPDF

IronPDFIron Software 에서 개발 및 유지 관리하는 Java 라이브러리입니다. 이 도구는 PDF 생성의 복잡한 부분을 추상화하는 사용하기 쉬운 인터페이스를 제공하여 개발자가 파일 생성 방식의 세부 사항보다는 PDF 콘텐츠에 집중할 수 있도록 해줍니다. IronPDF PDF 템플릿, 작성 가능한 양식디지털 서명을 쉽게 사용할 수 있도록 다양한 기능을 제공합니다.

이 튜토리얼에서는 Java 기반의 IronPDF 사용하여 템플릿에서 PDF 파일을 생성하는 데 필요한 단계를 안내합니다.

첫 번째 단계는 프로젝트를 생성하는 것입니다.

1단계: 새 Java 프로젝트를 생성합니다.

IntelliJ IDEA를 사용하여 새 Java 프로젝트를 생성하는 단계는 다음과 같습니다.

  1. IntelliJ IDEA를 열고 시작 화면 또는 "파일" 메뉴에서 "새 프로젝트 만들기"를 선택합니다.
  2. 왼쪽 메뉴에서 "Java"를 선택하고 프로젝트에 사용할 JDK 버전을 선택하십시오. "다음"을 클릭하세요.
  3. 프로젝트 이름과 위치를 선택하고 프로젝트 유형을 선택하세요. "Java 애플리케이션", "Java 라이브러리", "JavaFX 애플리케이션" 등 다양한 프로젝트 유형 중에서 선택할 수 있습니다. "다음"을 클릭하세요.
  4. 프로젝트 설정을 구성합니다. 프로젝트 SDK, 프로젝트 언어 수준 및 기타 설정을 지정할 수 있습니다. 모듈을 직접 만들거나 기존 모듈을 선택할 수도 있습니다. "다음"을 클릭하세요.
  5. 프로젝트 템플릿을 선택하세요. 빈 프로젝트를 만들거나, 샘플 코드가 포함된 프로젝트를 만들거나, 기존 프로젝트를 가져오는 옵션을 선택할 수 있습니다. "완료"를 클릭하세요.

Java에서 템플릿으로 PDF 생성하기, 그림 1: IntelliJ IDEA를 사용하여 새 Java 프로젝트 생성 IntelliJ IDEA를 사용하여 새 Java 프로젝트 생성

2단계: 프로젝트에 IronPDF 라이브러리를 추가합니다.

두 번째 단계는 XML 파일을 사용하여 Java 프로젝트에 IronPDF 라이브러리를 추가하는 것입니다. 프로젝트의 pom.xml 파일에 다음 의존성을 추가하여 수행할 수 있습니다:


<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> 
</dependency>

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> 
</dependency>
XML

3단계: PDF 템플릿 생성

다음으로, PDF 파일을 생성하는 데 사용할 PDF 템플릿을 만들어야 합니다. 어떤 PDF 편집기를 사용하든 PDF 템플릿을 만들 수 있습니다. 템플릿에는 런타임에 동적 데이터로 대체될 자리 표시자가 포함될 수 있습니다.

50명의 학생에게 여러 장의 수료증이 발급되는 사용 사례를 가정해 보겠습니다. 현재로서는 사용자별로 개별 인증서를 발급하는 것이 매우 번거로운 작업입니다. 템플릿을 사용하고 아래에 시연된 데모 프로그램을 통해 이름만 변경하면 됩니다.

Java에서 템플릿으로 PDF 생성하기, 그림 2: 인증서 템플릿 이미지 인스턴스 인증서 템플릿 이미지 인스턴스

4단계: 템플릿에서 PDF 문서 생성

PDF 템플릿 인증서를 생성한 후, 첫 번째 단계는 해당 인증서를 Java 애플리케이션에 불러오는 것입니다. IronPDF PdfDocument 클래스는 PDF 템플릿을 메모리에 로드하는 데 사용됩니다. 다음은 IronPDF 사용하여 PDF 템플릿을 불러오는 방법을 보여주는 예제 코드 조각입니다.

// Load the PDF template into memory using IronPDF
PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));
// Load the PDF template into memory using IronPDF
PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));
JAVA

이제 주어진 템플릿을 기반으로 5개의 인증서를 생성하는 코드 예제를 작성해 보겠습니다.

import com.ironsoftware.ironpdf.PageSelection;
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class CertificateGenerator {
    public static void main(String[] args) throws IOException {
        // Array of student names
        String[] studentNames = {"Georgia Wade", "Juliet Dave", "Olive Seth", "Miles Jorg", "Oscar Den"};

        // Iterate through each student's name
        for (String name : studentNames) {
            // Load the PDF template
            PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));

            // Replace the placeholder text with the student's name
            pdfDoc.replaceText(PageSelection.firstPage(), "Recipient Name", name);

            // Save the new PDF with the student's name as the file name
            pdfDoc.saveAs(Paths.get("Certificate/" + name + ".pdf"));
        }
    }
}
import com.ironsoftware.ironpdf.PageSelection;
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class CertificateGenerator {
    public static void main(String[] args) throws IOException {
        // Array of student names
        String[] studentNames = {"Georgia Wade", "Juliet Dave", "Olive Seth", "Miles Jorg", "Oscar Den"};

        // Iterate through each student's name
        for (String name : studentNames) {
            // Load the PDF template
            PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));

            // Replace the placeholder text with the student's name
            pdfDoc.replaceText(PageSelection.firstPage(), "Recipient Name", name);

            // Save the new PDF with the student's name as the file name
            pdfDoc.saveAs(Paths.get("Certificate/" + name + ".pdf"));
        }
    }
}
JAVA

다음은 출력 로그입니다.

Java에서 템플릿으로 PDF 생성하기, 그림 3: 출력 산출

위 코드는 학생 이름 배열을 생성한 다음 IronPDF 라이브러리를 사용하여 기존 PDF 템플릿의 자리 표시자 텍스트를 각 학생 이름으로 바꾸고, 학생 이름을 파일 이름으로 하여 새 PDF 사본을 저장합니다.

코드 작동 방식은 다음과 같습니다.

  1. studentNames 배열이 다섯 명의 학생 이름으로 정의되고 초기화됩니다.
  2. for 루프가 studentNames 배열의 각 이름을 반복합니다.
  3. PdfDocument.fromFile 메서드는 "CERTIFICATE.pdf"라는 이름의 PDF 템플릿 파일을 PdfDocument 객체에 로드합니다.
  4. PdfDocument.replaceText 메서드는 PDF 템플릿의 "Recipient Name" 텍스트를 현재 학생의 이름으로 대체하는 데 사용됩니다.
  5. PdfDocument.saveAs 메서드는 수정된 PDF 파일을 "Certificate" 디렉터리에 학생의 이름으로 파일 이름을 사용하여 저장합니다.
  6. 모든 학생 이름이 처리될 때까지 이 과정이 계속됩니다.

이러한 방식으로, 하나의 PDF 템플릿을 기반으로 학생 이름이 각각 고유한 여러 개의 수료증이 생성됩니다. 이와 동일한 방법을 사용하면 어떤 템플릿으로든 PDF 문서를 생성할 수 있습니다.

생성된 PDF 파일

Java에서 템플릿으로 PDF 생성하기, 그림 4: PDF 출력 PDF 출력

인증서 출력 파일

다음은 이 데모 프로그램에서 생성된 인증서입니다.

Java에서 템플릿으로 PDF 생성하기, 그림 5: 인증서 출력 인증서 출력

5단계: HTML 템플릿에서 PDF 템플릿 생성

이 예제에서는 HTML 파일을 사용하여 PDF 템플릿을 생성한 다음, 해당 템플릿을 사용하여 PDF 문서를 생성합니다.

다음은 예시를 보여주기 위한 HTML 파일입니다.

Java에서 템플릿으로 PDF 생성하기, 그림 6: HTML 출력 HTML 출력

주어진 HTML 형식에서 새 문서를 생성하는 다음 코드 예제를 살펴보십시오.

import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Path to the HTML template
        Path fileName = Path.of("D:\\index.html");

        // Dynamic data to replace placeholders in the template
        String userName = "Mike";
        String title = "Sample PDF File";
        String body = "This is the body of our template PDF";

        // Read the HTML file content as a string
        String htmlStr = Files.readString(fileName);

        // Replace placeholders with actual data
        htmlStr = htmlStr.replace("{UserName}", userName);
        htmlStr = htmlStr.replace("{Title}", title);
        htmlStr = htmlStr.replace("{message}", body);

        // Render the HTML as a PDF document using IronPDF
        PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlStr);

        // Save the generated PDF document in the specified directory
        pdfDoc.saveAs(Paths.get("htmlTemplate/" + userName + ".pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Path to the HTML template
        Path fileName = Path.of("D:\\index.html");

        // Dynamic data to replace placeholders in the template
        String userName = "Mike";
        String title = "Sample PDF File";
        String body = "This is the body of our template PDF";

        // Read the HTML file content as a string
        String htmlStr = Files.readString(fileName);

        // Replace placeholders with actual data
        htmlStr = htmlStr.replace("{UserName}", userName);
        htmlStr = htmlStr.replace("{Title}", title);
        htmlStr = htmlStr.replace("{message}", body);

        // Render the HTML as a PDF document using IronPDF
        PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlStr);

        // Save the generated PDF document in the specified directory
        pdfDoc.saveAs(Paths.get("htmlTemplate/" + userName + ".pdf"));
    }
}
JAVA

위 코드는 HTML 파일의 내용을 읽고, HTML 파일의 자리 표시자를 동적 데이터로 바꾸고, IronPDF 라이브러리를 사용하여 HTML을 PDF 문서로 렌더링한 다음, 생성된 PDF 문서를 지정된 디렉터리에 저장합니다.

다음은 해당 코드가 수행하는 작업을 단계별로 설명한 것입니다.

  1. 코드는 로컬 파일 시스템의 HTML 파일을 가리키는 Path 객체를 생성하면서 시작됩니다. 이 경우 해당 파일은 "D:\index.html"에 있습니다.
  2. userName, title, body라는 세 개의 변수가 선언되고 샘플 데이터로 초기화됩니다.
  3. HTML 파일의 내용은 Files.readString 메서드를 사용하여 htmlStr라는 문자열 변수에 읽어들입니다.
  4. HTML 파일의 세 가지 플레이스홀더 ({UserName}, {Title}, {message})를 해당 동적 데이터로 대체하기 위해 String.replace 메서드가 사용됩니다.
  5. 수정된 HTML 문자열을 인수로 하여 PdfDocument.renderHtmlAsPdf 메서드를 호출하여 HTML을 PDF 문서로 렌더링합니다. 결과 PDF 문서는 PdfDocument 객체로 저장되어 pdfDoc로 불립니다.
  6. pdfDoc.saveAs 메서드는 사용자 이름 변수를 파일명으로 하여 생성된 PDF 문서를 로컬 파일 시스템의 "htmlTemplate"이라는 디렉터리에 저장하기 위해 호출됩니다.

Java에서 템플릿으로 PDF 생성하기, 그림 7: 출력 산출

이러한 방식으로 HTML 템플릿에서 PDF 파일을 프로그래밍 방식으로 쉽게 생성할 수 있습니다.

무료 체험판을 이용하거나 상업용 라이선스를 구매하면 이 워터마크를 교체할 수 있습니다.

결론

이 글에서는 Java용 IronPDF 사용하여 PDF 파일을 생성하는 방법을 살펴보았습니다. IronPDF PDF 파일을 쉽게 생성하고 편집할 수 있는 간단하고 강력한 인터페이스를 제공합니다. IronPDF 사용하면 보고서, 송장 및 기타 여러 유형의 문서를 생성하는 등 다양한 용도로 활용할 수 있는 전문가 수준의 PDF 문서를 손쉽게 만들 수 있습니다.

IronPDF 는 PDF 파일의 모양과 레이아웃을 제어할 수 있는 다양한 옵션을 제공하여 높은 수준의 맞춤 설정이 가능합니다. 개발자는 페이지 여백, 글꼴 크기, 색상 및 기타 속성을 지정하여 특정 요구 사항에 맞는 PDF 파일을 만들 수 있습니다.

전반적으로 IronPDF 는 Java에서 PDF를 생성하기 위한 강력하고 유연한 라이브러리입니다. IronPDF 사용하기 쉬운 인터페이스와 다양한 기능을 갖추고 있어 PDF 생성이 필요한 모든 애플리케이션에 적합한 훌륭한 선택입니다.

소프트웨어 제품인 IronPDF for Java를 다운로드하세요 .

자주 묻는 질문

Java에서 템플릿을 사용하여 PDF를 생성하는 방법은 무엇입니까?

IronPDF를 사용하여 Java 템플릿에서 PDF를 생성하려면 PdfDocument.fromFile 로 템플릿을 불러오고, PdfDoc.replaceText 사용하여 자리 표시자를 바꾸고, SaveAs 메서드로 문서를 저장하면 됩니다.

IntelliJ IDEA에서 Java 프로젝트에 PDF 라이브러리를 추가하는 단계는 무엇인가요?

IntelliJ IDEA의 Java 프로젝트에 IronPDF를 추가하려면 pom.xml 파일에 Maven 종속성을 포함하고 라이브러리의 groupId, artifactId 및 버전을 지정해야 합니다.

Java에서 HTML 템플릿을 사용하여 PDF를 생성할 수 있나요?

네, IronPDF를 사용하면 HTML 템플릿에서 PDF를 생성할 수 있습니다. HTML 파일을 읽고, 자리 표시자를 동적 데이터로 바꾸고, PDF 문서로 렌더링할 수 있습니다.

IronPDF를 사용하여 PDF 템플릿의 자리 표시자를 어떻게 바꿀 수 있나요?

PDF 템플릿에서 자리 표시자를 바꾸려면 PdfDocument.replaceText 메서드를 사용하세요. 바꿀 텍스트와 PDF 문서에 들어갈 새 내용을 지정해야 합니다.

템플릿을 사용하여 PDF를 생성하는 일반적인 사용 사례는 무엇인가요?

템플릿을 사용한 PDF 생성의 일반적인 사용 사례로는 일관된 서식과 동적 콘텐츠 삽입이 필요한 인증서 생성, 송장 작성 및 보고서 생성 등이 있습니다.

IntelliJ IDEA에서 PDF 생성 작업을 위한 새 Java 프로젝트를 어떻게 생성하나요?

IntelliJ IDEA에서 '새 프로젝트 만들기'를 선택하고 'Java'를 선택한 다음 JDK 버전을 설정하고 프로젝트 설정을 구성합니다. 그런 다음 IronPDF를 프로젝트 종속성에 추가할 수 있습니다.

IronPDF는 Java를 이용한 PDF 생성에 어떤 이점을 제공하나요?

IronPDF는 직관적인 인터페이스, 템플릿 처리 지원, 입력 가능한 양식 및 디지털 서명과 같은 기능을 제공하여 Java 기반 PDF 생성을 간소화합니다.

IronPDF로 생성된 PDF의 레이아웃을 사용자 지정할 수 있습니까?

예, IronPDF는 페이지 여백, 글꼴 크기, 색상 및 기타 시각적 요소를 조정하여 특정 디자인 요구 사항을 충족하는 등 PDF 레이아웃을 사용자 지정할 수 있도록 지원합니다.

IronPDF를 사용하기에 이상적인 프로젝트 유형은 무엇인가요?

보고서, 송장, 증명서와 같이 전문적인 PDF 문서 생성이 필요한 프로젝트는 IronPDF의 유연성과 강력한 기능을 통해 많은 이점을 얻을 수 있습니다.

다리우스 세란트
풀스택 소프트웨어 엔지니어 (웹 운영)

다리우스 세런트는 마이애미 대학교에서 컴퓨터 과학 학사 학위를 받았으며, Iron Software에서 풀 스택 웹 운영 마케팅 엔지니어로 근무하고 있습니다. 어린 시절부터 코딩에 매료되었던 그는 컴퓨팅이 신비로우면서도 접근하기 쉬운 분야라고 생각했고, 창의력과 문제 해결 능력을 발휘하기에 완벽한 매체라고 여겼습니다.

Iron Software에서 다리우스는 새로운 것을 만들고 복잡한 개념을 단순화하여 더 쉽게 이해할 수 있도록 하는 것을 즐깁니다. 그는 사내 개발자로서 학생들을 가르치는 데에도 자원하여 차세대 인재들과 전문 지식을 공유하고 있습니다.

다리우스에게 있어 그의 일은 가치 있고 실질적인 영향을 미치기 때문에 보람 있는 일입니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해