Java로 PDF 파일을 작성하는 방법
이 글에서는 IronPDF 사용하여 PDF 문서를 프로그래밍 방식으로 생성하는 방법에 대해 살펴보겠습니다.
Java용 IronPDF PDF 라이브러리
IronPDF 의 Java PDF 라이브러리를 사용하면 개발자는 Java 애플리케이션에서 PDF 문서를 생성, 편집 및 조작할 수 있습니다. 애플리케이션 데이터를 기반으로 PDF 파일을 생성해야 하는 Java 개발자에게 이 라이브러리는 다양한 기능을 제공하므로 탁월한 선택이 될 것입니다.
IronPDF 는 새로운 HTML 콘텐츠 추가, HTML 헤더 및 바닥글 삽입 , 문서 스탬프 및 워터마크 삽입, 암호로 보호된 PDF 파일 생성, PDF 파일에 디지털 서명 적용 , 배경 및 전경을 사용하여 문서 향상 , XML 문서에서 완전한 PDF 파일 생성, 주석 추가 및 편집, 더 나은 탐색을 위한 개요 및 책갈피 사용과 같은 기능을 제공합니다 . 좀 더 자세히 살펴보겠습니다.
새 HTML 콘텐츠 추가
IronPDF 사용하면 개발자는 PDF 문서에 새로운 HTML 콘텐츠를 쉽게 추가할 수 있습니다. 이 기능은 풍부한 HTML 콘텐츠를 포함하여 PDF 양식 문서를 동적으로 생성하려는 개발자에게 매우 유용한 기능입니다. 이 라이브러리는 이미지, 링크, 테이블 등을 포함한 다양한 HTML 요소를 지원합니다. HTML 콘텐츠는 CSS를 사용하여 스타일을 지정할 수도 있으므로 전문가 수준의 PDF를 쉽게 만들 수 있습니다.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument.
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument.
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
PDF 출력
HTML 헤더 및 푸터 추가
머리글과 바닥글은 많은 PDF 문서의 필수 구성 요소이며, IronPDF 사용하면 HTML 머리글과 바닥글을 문서에 쉽게 통합할 수 있습니다. IronPDF 사용하면 개발자는 텍스트, 이미지 및 페이지 번호를 포함한 사용자 지정 머리글과 바닥글을 PDF 문서에 추가할 수 있습니다. 이 기능은 특히 문서에 브랜드 또는 저작권 정보를 추가해야 하는 기업에 유용합니다.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
import java.util.ArrayList;
// Render a PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); // millimeters
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
List<PdfDocument> pdfs = new ArrayList<>();
// Build a header using an image asset
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); // millimeters
header.setHtmlFragment("<img src=\"logo.png\" />");
header.setBaseUrl("./assets/");
pdf.addHtmlHeader(header);
try {
pdf.saveAs(Paths.get("assets/html_headers_footers.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
import java.util.ArrayList;
// Render a PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); // millimeters
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
List<PdfDocument> pdfs = new ArrayList<>();
// Build a header using an image asset
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); // millimeters
header.setHtmlFragment("<img src=\"logo.png\" />");
header.setBaseUrl("./assets/");
pdf.addHtmlHeader(header);
try {
pdf.saveAs(Paths.get("assets/html_headers_footers.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
PDF 출력
스탬프 및 워터마크
IronPDF 사용하면 개발자는 PDF 문서에 스탬프와 워터마크를 추가할 수 있습니다. 워터마크는 문서 배경에 나타나는 투명한 이미지 또는 텍스트이며, 스탬프는 새 문서에 사용자 지정 메시지나 이미지를 추가합니다.
이러한 기능은 무단 사용으로부터 문서를 보호하거나 문서에 사용자 지정 메시지를 추가해야 하는 기업에 매우 유용합니다.
package IronPDF.ironpdf_java;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Test {
public static void main(String[] args) throws IOException {
License.setLicenseKey("Your-License");
// Load an existing PDF from the filesystem
PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));
// Apply a watermark to the PDF
pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);
// Save the watermarked PDF
pdf.saveAs(Paths.get("assets/watermark.pdf"));
}
}
package IronPDF.ironpdf_java;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Test {
public static void main(String[] args) throws IOException {
License.setLicenseKey("Your-License");
// Load an existing PDF from the filesystem
PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));
// Apply a watermark to the PDF
pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);
// Save the watermarked PDF
pdf.saveAs(Paths.get("assets/watermark.pdf"));
}
}
PDF 출력
배경 및 전경
IronPDF 개발자가 PDF 문서에 사용자 지정 배경과 전경을 구현할 수 있도록 지원합니다. 전경은 문서 위에 사용자 지정 텍스트나 이미지를 추가하는 데 사용되는 반면, 배경은 배경에 사용자 지정 이미지나 색상을 추가합니다. 문서나 PDF 양식에 맞춤형 브랜딩이나 그래픽을 적용하고 싶은 사업주에게 이 기능은 특히 유용할 것입니다.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class BackgroundForegroundExample {
public static void main(String[] args) throws IOException {
// Load background and foreground PDFs from the filesystem
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));
// Render content (HTML, URL, etc) as a PDF Document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Add the background and foreground PDFs to the newly-rendered document.
pdf.addBackgroundPdf(backgroundPdf);
pdf.addForegroundPdf(foregroundPdf);
// Save the document with background and foreground
pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class BackgroundForegroundExample {
public static void main(String[] args) throws IOException {
// Load background and foreground PDFs from the filesystem
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));
// Render content (HTML, URL, etc) as a PDF Document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Add the background and foreground PDFs to the newly-rendered document.
pdf.addBackgroundPdf(backgroundPdf);
pdf.addForegroundPdf(foregroundPdf);
// Save the document with background and foreground
pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
}
}
주석 추가 및 편집
주석은 메모, 댓글 또는 강조 표시와 같은 추가 정보를 PDF 문서에 추가하는 훌륭한 방법입니다. IronPDF 사용하면 개발자는 PDF 문서에 주석을 추가하고 편집하여 주석을 쉽고 효과적으로 관리 할 수 있습니다.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.annotation.AnnotationIcon;
import com.ironsoftware.ironpdf.annotation.AnnotationManager;
import com.ironsoftware.ironpdf.annotation.AnnotationOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class AnnotationExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/example.pdf"));
// Create an annotation to be placed at a specific location on a page.
AnnotationOptions annotation = new AnnotationOptions(
"This is a major title", // Title of the annotation
"This is the long 'sticky note' comment content...", // Content of the annotation
150, // x-axis coordinate location
250 // y-axis coordinate location
);
annotation.setIcon(AnnotationIcon.HELP);
annotation.setOpacity(0.9);
annotation.setPrintable(false);
annotation.setHidden(false);
annotation.setOpen(true);
annotation.setReadonly(true);
annotation.setRotateable(true);
// Add the annotation to a specific page of the PDF
AnnotationManager annotationManager = pdf.getAnnotation();
annotationManager.addTextAnnotation(annotation, 0); // Add to the first page
// Save the PDF with the modifications
pdf.saveAs(Paths.get("assets/annotated.pdf"));
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.annotation.AnnotationIcon;
import com.ironsoftware.ironpdf.annotation.AnnotationManager;
import com.ironsoftware.ironpdf.annotation.AnnotationOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class AnnotationExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/example.pdf"));
// Create an annotation to be placed at a specific location on a page.
AnnotationOptions annotation = new AnnotationOptions(
"This is a major title", // Title of the annotation
"This is the long 'sticky note' comment content...", // Content of the annotation
150, // x-axis coordinate location
250 // y-axis coordinate location
);
annotation.setIcon(AnnotationIcon.HELP);
annotation.setOpacity(0.9);
annotation.setPrintable(false);
annotation.setHidden(false);
annotation.setOpen(true);
annotation.setReadonly(true);
annotation.setRotateable(true);
// Add the annotation to a specific page of the PDF
AnnotationManager annotationManager = pdf.getAnnotation();
annotationManager.addTextAnnotation(annotation, 0); // Add to the first page
// Save the PDF with the modifications
pdf.saveAs(Paths.get("assets/annotated.pdf"));
}
}
출력 파일
개요 및 책갈피
개발자는 IronPDF 사용하여 책갈피를 활용해 PDF 문서를 향상시킬 수 있습니다. 개요는 문서 내용에 대한 개괄적인 정보를 제공하고, 책갈피는 특정 섹션에 빠르게 접근할 수 있도록 해줍니다. 문서의 규모가 크거나 복잡한 경우, 이 기능을 통해 사용자는 원하는 섹션으로 빠르게 이동할 수 있습니다.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class BookmarkExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/book.pdf"));
// Add top-level bookmarks to pages of the PDF using their page indices
BookmarkManager bookmarks = pdf.getBookmark();
bookmarks.addBookMarkAtEnd("Author's Note", 2);
bookmarks.addBookMarkAtEnd("Table of Contents", 3);
bookmarks.addBookMarkAtEnd("Summary", 10);
bookmarks.addBookMarkAtEnd("References", 12);
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
// Add a child bookmark
bookmark.addChildBookmark("Conclusion", 11);
// Save the PDF to the filesystem
pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class BookmarkExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/book.pdf"));
// Add top-level bookmarks to pages of the PDF using their page indices
BookmarkManager bookmarks = pdf.getBookmark();
bookmarks.addBookMarkAtEnd("Author's Note", 2);
bookmarks.addBookMarkAtEnd("Table of Contents", 3);
bookmarks.addBookMarkAtEnd("Summary", 10);
bookmarks.addBookMarkAtEnd("References", 12);
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
// Add a child bookmark
bookmark.addChildBookmark("Conclusion", 11);
// Save the PDF to the filesystem
pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
}
}
요약
이 글에서는 IronPDF 의 다양한 기능, 예를 들어 PDF 문서에 주석, 책갈피, HTML 콘텐츠, 배경색 및 전경색, 머리글 및 바닥글을 추가하는 기능에 대해 살펴봅니다. 이 문서에서는 IronPDF 사용하여 이러한 기능을 구현하는 단계별 지침을 제공하여 개발자가 특정 요구 사항을 충족하는 전문가 수준의 PDF 문서를 쉽게 만들 수 있도록 합니다.
웹 애플리케이션이든 데스크톱 애플리케이션이든, IronPDF PDF 문서 생성 프로세스를 간소화하여 시간과 노력을 절약하는 동시에 문서의 보기 좋게 만들 수 있도록 도와줍니다.
IronPDF 라이선스 정보는 $799에서 시작합니다. IronPDF 무료 평가판 도 제공하므로 개발자는 구매 결정을 내리기 전에 라이브러리를 테스트하고 기능을 평가할 수 있습니다. 시험 기간 동안 사용자는 지원 및 업데이트를 포함하여 라이브러리의 모든 기능을 이용할 수 있습니다. 평가 기간이 종료된 후 사용자는 라이선스를 구매하여 라이브러리를 계속 사용할 수 있습니다. IronPDF 의 가격은 라이브러리를 사용하는 개발자 수와 라이선스 유형에 따라 다릅니다.
자주 묻는 질문
Java에서 PDF 문서를 프로그래밍 방식으로 생성하는 방법은 무엇인가요?
IronPDF for Java 라이브러리를 사용하면 프로그래밍 방식으로 PDF 문서를 생성할 수 있습니다. 이 라이브러리는 HTML 콘텐츠, 머리글, 바닥글 등을 포함하여 고품질 PDF를 생성하는 데 필요한 다양한 기능을 제공합니다.
PDF에 HTML 콘텐츠를 추가하는 데 사용할 수 있는 방법에는 어떤 것들이 있습니까?
IronPDF를 사용하면 개발자는 RenderHtmlAsPdf 메서드를 통해 HTML 콘텐츠를 PDF에 직접 추가할 수 있습니다. 이 메서드는 다양한 HTML 요소와 CSS 스타일링을 지원합니다.
PDF 문서에 디지털 서명을 포함할 수 있나요?
네, IronPDF는 PDF 문서에 디지털 서명을 추가하여 문서의 진위성과 보안을 강화하는 기능을 지원합니다.
PDF 문서를 비밀번호로 보호하려면 어떻게 해야 하나요?
IronPDF는 암호로 보호된 PDF를 생성하는 기능을 제공하여 문서 내의 중요한 정보를 안전하게 보호할 수 있도록 합니다.
PDF에 사용자 지정 배경과 전경을 추가하는 것이 가능할까요?
IronPDF를 사용하면 개발자는 브랜드 요소나 장식용 그래픽을 포함한 사용자 지정 배경과 전경을 PDF에 추가할 수 있습니다.
개요와 책갈피는 PDF 문서 탐색을 어떻게 개선할 수 있을까요?
IronPDF는 개요와 책갈피를 추가할 수 있도록 지원하여 사용자가 PDF의 특정 섹션으로 빠르게 이동하고 문서 구조를 체계적으로 파악할 수 있도록 도와줍니다.
PDF 문서에 주석을 달 수 있는 옵션에는 어떤 것들이 있나요?
IronPDF를 사용하면 메모, 댓글, 강조 표시와 같은 다양한 주석을 추가하여 PDF 문서의 상호 작용성과 사용성을 향상시킬 수 있습니다.
Java 애플리케이션에서 IronPDF를 사용하기 위한 라이선스 옵션은 무엇인가요?
IronPDF는 평가용 무료 체험판을 포함하여 다양한 라이선스 옵션을 제공합니다. 라이선스는 개발자 수와 프로젝트의 특정 요구 사항에 따라 다릅니다.




