IronPDF for Java와 iTextPDF iText7 for Java 비교
오늘날 개발자들은 끊임없이 발전하는 기술 덕분에 더 나은 솔루션을 활용할 수 있습니다.
소프트웨어 개발 프로세스의 미래는 자동화에 달려 있습니다. PDF 파일은 오랫동안 개발자들에게 어려움을 안겨주는 존재였습니다. PDF 파일을 다룰 때(즉, 콘텐츠를 제작하거나 다른 형식의 콘텐츠를 PDF로 변환할 때) 고려해야 할 사항이 많습니다. PDF 파일을 읽고, 쓰고, 만들고, 다양한 형식에서 다른 형식으로 변환하는 데 도움을 주는 수많은 라이브러리가 개발되면서 이러한 요구 사항은 이제 충족되었습니다.
이 글에서는 Java 개발자들이 PDF 파일을 편집, 인쇄 및 생성하는 데 사용할 수 있는 가장 인기 있는 PDF 라이브러리 두 가지를 비교합니다.
- IronPDF Java 라이브러리 : HTML에서 PDF를 생성하는 데 초점을 맞춘 Java PDF 라이브러리입니다.
- ITextPDF 라이브러리: 프로그래밍 가능한 API를 사용하여 PDF를 생성하는 데 중점을 둔 Java 우선 오픈 소스 라이브러리입니다.
두 라이브러리의 기능을 살펴본 후 PDF 변환 및 처리에 필요한 성능 비용을 분석하여 어떤 라이브러리가 여러분의 애플리케이션에 가장 적합한지 알아보겠습니다. 또한, 각 도서관의 이용 시간은 추후 연구를 위해 기록될 것입니다.
IronPDF Java 설치
Java용 IronPDF 설치하려면 종속성으로 추가하기만 하면 됩니다. IronPDF를 의존성으로 정의하려면 다음을 pom.xml에 추가하세요:
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
참고: .jar 파일을 수동으로 다운로드할 수도 있습니다.
- IronPDF for Java Maven Repository 로 이동하여 Maven 리포지토리 페이지에 접속하세요.
- 압축 파일의 내용을 추출합니다.
- 폴더를 만들고 압축 폴더의 내용을 복사합니다.
- Eclipse IDE를 엽니다.
- 새 Java 프로젝트를 생성합니다.
- IronPDF .jar 파일을 클래스 경로에 추가합니다.
- 프로젝트 생성 마법사를 완료하세요. 그게 다예요!
IronPDF 기능
개발자는 강력한 IronPDF PDF 라이브러리를 활용하여 PDF 파일을 신속하게 생성, 읽기 및 조작할 수 있습니다. IronPDF Chrome 엔진을 핵심으로 사용하며 HTML5, JavaScript, CSS 및 이미지 파일을 PDF로 변환하는 기능을 포함하여 다양하고 강력한 실용적인 기능을 제공합니다. IronPDF 고유한 머리글과 바닥글을 추가할 수 있으며, 웹 브라우저에 표시되는 것과 정확히 동일한 PDF 파일을 생성할 수 있습니다. IronPDF 는 HTML, ASPX, Razor View, MVC를 비롯한 다양한 웹 형식을 지원합니다. IronPDF의 주요 특징은 다음과 같습니다.
- Java 프로그램을 사용하여 PDF 파일을 쉽게 생성, 읽기 및 편집할 수 있습니다.
- 사용자 에이전트, 프록시, 쿠키, HTTP 헤더 및 폼 변수 설정이 되어 있어 HTML 로그인 양식을 사용한 로그인을 지원하는 모든 웹사이트 URL 링크에서 PDF를 생성합니다.
- 기존 PDF 문서에서 사진을 제거합니다.
- PDF에 텍스트, 사진, 책갈피, 워터마크 및 기타 요소를 추가합니다.
- 여러 PDF 문서의 페이지를 병합하거나 분할합니다.
- CSS 파일을 포함한 미디어 유형 파일을 문서로 변환합니다.
ITextPDF Java 설치
iTextPDF는 iTextPDF 웹사이트 에서 무료로 이용할 수 있습니다. 이 라이브러리는 AGPL 소프트웨어 라이선스 모델에 따라 오픈 소스로 제공됩니다.
귀하의 애플리케이션에 iText 라이브러리를 추가하려면 다음 Maven 저장소를 pom.xml 파일에 포함하세요.
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
iTextPDF .jar 파일과 slf4j.jar 파일을 직접 다운로드하세요. 라이브러리를 사용하려면 iTextPDF .jar 파일을 시스템의 클래스 경로에 추가하십시오.
iText 라이브러리 기능
- HTML, XML 및 이미지(png, jpg 등)를 사용하여 PDF를 생성합니다.
- PDF 문서에 책갈피, 페이지 번호 및 표시를 추가합니다.
- PDF 파일을 여러 개의 PDF 파일로 분할하거나 여러 개의 PDF 파일을 하나의 PDF 파일로 병합합니다.
- PDF 양식을 프로그램으로 편집합니다.
- PDF에 텍스트, 이미지 및 기하학적 도형을 추가합니다.
iTextPDF Java를 사용하여 HTML 문자열을 PDF로 변환
Java용 iText에서 HTMLConverter는 HTML을 PDF로 변환하는 데 사용되는 기본 클래스입니다.
HTMLConverter에는 세 가지 주요 메서드가 있습니다:
convertToDocument, 이는Document객체를 반환합니다.convertToElements, 이는IElement객체의 목록을 반환합니다.convertToPdf은 HTML 콘텐츠를 PDF로 변환하는 것을 처리합니다. 이 메서드는String,File또는InputStream로 HTML 입력을 받아들여 하나의File,OutputStream또는Document객체를 반환합니다.
package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
IronPDF Java를 사용하여 HTML 문자열을 PDF로 변환합니다.
IronPDF의 PdfDocument 클래스는 Java 개발자가 다양한 소스에서 HTML 텍스트를 생성할 수 있는 여러 정적 메서드를 제공합니다. 그 중 하나의 메서드는 PdfDocument.renderHtmlAsPdf 메서드로, HTML 마크업 문자열을 PDF 문서로 변환합니다.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
ITextPDF Java를 사용하여 HTML 파일을 PDF로 변환
convertToPdf 메서드를 사용하여 모든 HTML 파일을 PDF로 변환할 수 있습니다.
이미지와 CSS 파일은 HTML 파일에 포함될 수 있습니다. 그러나 HTML 파일과 동일한 위치에 있어야 합니다. 참조된 CSS 및 이미지를 위한 기본 경로를 설정하려면 ConverterProperties 클래스를 사용할 수 있습니다. 이 기능은 HTML 파일 자산이 서로 다른 디렉토리에 위치할 때 유용합니다.
다음과 같은 마크업이 포함된 index.html 파일을 생각해 보세요.
<html>
<head>
<title>HTML to PDF</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>HTML to PDF</h1>
<p>
<span class="itext">itext</span> 7.1.9
<span class="description"> converting HTML to PDF</span>
</p>
<table>
<tr>
<th class="label">Title</th>
<td>iText - Java HTML to PDF</td>
</tr>
<tr>
<th>URL</th>
<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
</tr>
</table>
</body>
</html>
<html>
<head>
<title>HTML to PDF</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>HTML to PDF</h1>
<p>
<span class="itext">itext</span> 7.1.9
<span class="description"> converting HTML to PDF</span>
</p>
<table>
<tr>
<th class="label">Title</th>
<td>iText - Java HTML to PDF</td>
</tr>
<tr>
<th>URL</th>
<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
</tr>
</table>
</body>
</html>
아래 소스 코드는 index.html 파일을 PDF로 변환합니다.
package com.hmkcode;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
package com.hmkcode;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
Java용 IronPDF 사용하여 HTML 파일을 PDF로 변환합니다.
IronPDF의 PdfDocument.renderHtmlFileAsPdf 메서드는 컴퓨터나 네트워크 파일 경로에 있는 HTML 파일을 변환합니다.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}
IronPDF Java를 사용하여 PDF 파일에 이미지 추가
IronPDF의 PdfDocument.fromImage 메서드를 사용하여 그룹의 이미지를 단일 PDF 파일로 렌더링할 수 있습니다. 다음 예제는 다양한 파일 시스템 경로에 있는 짧은 이미지를 대상으로 이 메서드를 사용합니다.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);
// Convert the three images into a PDF and save them.
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);
// Convert the three images into a PDF and save them.
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
}
}
ITextPDF Java를 사용하여 PDF에 이미지 추가
아래의 전체 코드 예제는 iText를 사용하여 현재 작업 디렉터리에 있는 두 이미지를 하나의 PDF 파일로 변환합니다.
import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class InsertImagePDF {
public static void main(String[] args) throws IOException {
String currDir = System.getProperty("user.dir");
// Getting path of current working directory to create the pdf file in the same directory
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}
import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class InsertImagePDF {
public static void main(String[] args) throws IOException {
String currDir = System.getProperty("user.dir");
// Getting path of current working directory to create the pdf file in the same directory
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}
라이선스
iTextSharp는 오픈 소스이며 AGLP 라이선스에 따라 배포됩니다.
이를 통해 iTextSharp를 포함하는 애플리케이션을 사용하는 모든 사용자는 회사 네트워크 또는 인터넷을 통해 접속하는 경우에도 해당 애플리케이션의 소스 코드 전체 사본을 받을 자격이 있음을 보장합니다.
비즈니스 용도로 사용하시려면 iText에 직접 연락하여 라이선스 가격에 대해 문의하십시오.
IronPDF 는 개발 목적으로는 무료이며, 상업적 배포를 위해서는 언제든지 라이선스를 취득할 수 있습니다. IronPDF 라이선스 세부 정보: 단일 프로젝트 사용, 개인 개발자, 에이전시 및 글로벌 기업은 물론 SaaS 및 OEM 재배포에 대한 라이선스 정보를 제공합니다. 모든 라이선스에는 30일 환불 보장, 1년간의 제품 지원 및 업데이트, 개발/스테이징/프로덕션 환경에서의 사용 가능, 그리고 영구 라이선스(일회성 구매)가 포함됩니다.
Lite 패키지의 가격은 $799에서 시작합니다.
- 개발자는 개발 과정에서 라이브러리를 무제한으로 이용할 수 있습니다. 일반적인 면허 발급 비용 측면에서 보면, 매우 경제적입니다.
- 1년간 무제한 무료 지원.
- 라이선스 취득을 위한 무료 평가판도 제공됩니다.
- 모든 라이선스에는 30일 환불 보증이 포함됩니다.
- 라이선스는 모든 환경(개발, 스테이징, 프로덕션 등)에서 유효합니다.
- 라이선스에는 1년간 무조건적인 지원이 포함됩니다.
- IronPDF 라이선스는 일회성 구매가 필요합니다.
IronPDF 와 iText 비교
iText와 IronPDF 사이에는 몇 가지 중요한 차이점이 있습니다.
iText의 API는 프로그래밍 방식 모델을 중심으로 구성되어 있습니다. 이 모델에서는 PDF 속성 및 콘텐츠 조작이 더욱 세밀하고 세분화된 방식으로 이루어집니다. 이러한 방식은 프로그래머에게 더 많은 제어력과 유연성을 제공하지만, 사용 사례를 구현하기 위해 더 많은 코드를 작성해야 한다는 단점도 있습니다.
IronPDF의 API는 개발자의 생산성을 최적화하는 데 중점을 두고 설계되었습니다. IronPDF 개발자가 단 몇 줄의 코드로 PDF 편집, 조작, 생성 및 기타 복잡한 작업을 완료할 수 있도록 하여 이러한 작업을 간소화합니다.
결론
Iron Software 의 모든 고객은 단 두 번의 클릭만으로 전체 패키지 제품군을 구매할 수 있습니다. 현재 Iron Software Suite 의 다섯 가지 라이브러리 모두를 구매하고 각 라이브러리에 대한 지속적인 지원을 받는 데 드는 비용은 Suite 내 라이브러리 중 두 개 가격입니다.
자주 묻는 질문
Java 라이브러리를 사용하여 HTML을 PDF로 변환하는 방법은 무엇인가요?
IronPDF의 renderHtmlAsPdf 메서드를 사용하여 HTML 문자열을 PDF 문서로 변환할 수 있습니다. 또한 renderHtmlFileAsPdf 메서드를 사용하여 HTML 파일을 PDF로 변환할 수도 있습니다.
Java PDF 라이브러리의 설치 단계는 무엇인가요?
Java용 IronPDF를 설치하려면 pom.xml 파일에 종속성으로 선언하거나 IronPDF Maven 저장소에서 .jar 파일을 직접 다운로드하여 프로젝트의 클래스 경로에 추가해야 합니다.
IronPDF for Java는 iTextPDF와 어떻게 비교되나요?
IronPDF는 Chrome 엔진을 사용하여 HTML을 PDF로 변환함으로써 코드 줄 수를 줄여 작업을 간소화하는 데 중점을 둡니다. iTextPDF는 프로그래밍 API를 통해 보다 세밀한 제어를 제공하지만, 조작을 위해 더 많은 코드가 필요합니다.
Java PDF 라이브러리를 사용하여 PDF에 이미지를 추가할 수 있나요?
네, IronPDF에서는 PdfDocument.fromImage 메서드를 사용하여 이미지 파일 경로 목록을 제공함으로써 이미지를 단일 PDF 파일에 렌더링할 수 있습니다.
Java PDF 라이브러리는 어떤 라이선스 옵션을 제공하나요?
IronPDF는 단일 프로젝트, 개인 개발자, 에이전시 및 기업 라이선스를 비롯하여 SaaS 및 OEM 재배포 옵션 등 다양한 라이선스 유형을 제공합니다. 모든 라이선스에는 30일 환불 보증과 1년 지원이 포함됩니다.
IronPDF for Java를 사용하여 PDF를 편집할 수 있습니까?
네, IronPDF를 사용하면 PDF 문서를 편집, 병합 및 조작할 수 있습니다. 머리글과 바닥글을 추가하고 HTML, ASPX, MVC와 같은 다양한 웹 형식을 처리하는 도구를 제공합니다.
Java PDF 라이브러리 중 무료로 사용할 수 있는 옵션이 있나요?
iTextPDF는 AGPL 라이선스 하에 오픈 소스로 제공되므로 자유롭게 사용할 수 있지만, 이를 사용하는 애플리케이션의 소스 코드를 공유해야 합니다. IronPDF는 개발용으로는 무료이지만 상업적 배포에는 라이선스가 필요합니다.
Java를 사용하여 HTML 파일을 PDF로 변환하는 가장 좋은 방법은 무엇입니까?
IronPDF의 renderHtmlFileAsPdf 메서드를 사용하면 로컬 또는 네트워크 파일 경로의 HTML 파일을 PDF 문서로 변환할 수 있어 개발자에게 간소화된 프로세스를 제공합니다.
IronPDF는 PDF 생성에 어떤 기능을 제공하나요?
IronPDF는 HTML5, JavaScript, CSS, 이미지 PDF 변환, 머리글/바닥글 추가 등 다양한 기능을 통해 PDF 생성, 읽기 및 편집을 지원합니다. 개발자 생산성 향상과 사용 편의성에 중점을 두고 개발되었습니다.
iTextPDF를 Java 프로젝트에 통합하려면 무엇이 필요합니까?
iTextPDF를 Java 프로젝트에 포함시키려면 pom.xml 파일에 Maven 저장소 정보를 추가하고 통합에 필요한 .jar 파일을 다운로드해야 합니다.











