Java를 이용한 HTML을 PDF로 변환
IronPDF for Java는 최신 브라우저에 있는 것과 동일한 렌더링 엔진을 사용하여 HTML 콘텐츠를 픽셀 완전한 PDF 문서로 변환합니다. Java 응용 프로그램은 추가 렌더링 소프트웨어나 GUI 환경 없이 HTML 문자열, 로컬 HTML 파일 또는 라이브 웹 페이지에서 PDF를 생성할 수 있습니다.
이 튜토리얼에서는 IronPDF for Java에서 사용할 수 있는 세 가지 HTML에서 PDF로의 변환 방법, 설치, 라이선싱 및 구성 옵션을 모두 다룹니다. 이미 IronPDF for .NET을 사용하고 있는 개발자는 Java API가 익숙할 것입니다; 해당하는 .NET 튜토리얼은 HTML에서 PDF로의 .NET 튜토리얼에서 확인할 수 있습니다.
Quickstart: HTML에서 PDF 생성
다음 예제는 HTML 문자열에서 한 페이지의 PDF를 생성하고 디스크에 저장합니다. Maven을 통해 라이브러리를 설치한 후(1단계), 필요한 모든 코드는 다음과 같습니다:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
지금 바로 무료 체험판을 통해 IronPDF을 프로젝트에서 사용해 보세요.
목차
- Java 프로젝트에서 IronPDF를 설치하는 방법.
- Java에서 HTML 문자열을 PDF로 변환하는 방법.
- HTML 문자열에서 로컬 자산을 로드하는 방법.
- Java에서 URL을 PDF로 변환하는 방법.
- Java에서 HTML 파일을 PDF로 변환하는 방법.
- PDF 출력 설정을 사용자 지정하는 방법.
- PDF에 헤더와 푸터를 추가하는 방법.
- 사용자 정의 여백 및 페이지 크기를 설정하는 방법.
- PDF에 워터마크를 추가하는 방법.
- Java에서 PDF에서 텍스트를 추출하는 방법.
- Java에서 PDF에서 이미지를 추출하는 방법.
- PDF 파일을 압축하는 방법.
- 프로그램적으로 PDF를 인쇄하는 방법.
- 다음 단계
Java 프로젝트에 IronPDF를 설치하는 방법은 무엇입니까?
IronPDF for Java는 Maven Central 저장소에 있습니다. 추천되는 설치 방법은 Maven이지만, 빌드 시스템을 사용하지 않는 프로젝트에서도 수동 JAR 설치가 지원됩니다.
Maven 의존성으로 설치
프로젝트의 pom.xml 파일 내 dependencies 섹션에 다음 아티팩트를 추가하십시오:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
첫 번째 아티팩트는 IronPDF를 가져옵니다. The second is an SLF4J logging implementation. IronPDF는 진단 메시지를 렌더링하는 동안 내보내기 위해 SLF4J를 사용합니다; you can substitute it with Logback or Log4j 2, or omit logging entirely.
프로젝트 루트 디렉터리에서 mvn install을 실행하여 종속성을 다운로드하십시오. 버전 번호를 고정하기 전에 IronPDF의 최신 버전을 확인하세요. 변경 로그에는 모든 현재 및 과거 릴리스가 나열되어 있습니다.
JAR 수동 설치
Maven을 사용하지 않는 개발자는 Maven Central에서 직접 IronPDF 팻 JAR을 다운로드하여 프로젝트 클래스 경로에 추가할 수 있습니다. 팻 JAR은 모든 전이적 종속성을 번들로 포함합니다.
IronPDF 패키지 가져오기
모든 PDF 렌더링 및 조작 클래스는 com.ironsoftware.ironpdf 패키지에 포함되어 있습니다. IronPDF를 사용하는 모든 Java 소스 파일에 이 import 문을 추가하세요:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
라이선스 키를 설정하세요
라이선스 키 없이 IronPDF는 각 페이지에 타일 워터마크가 있는 PDF를 렌더링합니다. 워터마크를 제거하려면 렌더링 메서드를 호출하기 전에 License.setLicenseKey에 유효한 라이선스 키를 전달하십시오:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
이 호출을 애플리케이션 시작 시점에 배치하여 모든 PDF 생성 로직이 실행되기 전에 실행하세요. 무료 체험을 시작하여 체험 키를 얻거나, 프로덕션 사용을 위한 라이선스 옵션을 확인하세요.
로그 파일 경로 구성
IronPDF는 렌더링 진단 정보를 애플리케이션의 작업 디렉터리에 있는 IronPdfEngine.log라는 로그 파일에 기록합니다. 파일 이름이나 위치를 변경하려면 Settings.setLogPath을 호출하십시오:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
Settings.setLogPath을 호출하십시오. 렌더링이 시작된 후에 호출하면 효과가 없습니다.Java에서 HTML 문자열을 PDF로 변환하는 방법은?
PdfDocument.renderHtmlAsPdf는 HTML 문자열을 PdfDocument 객체로 변환하며, 이 객체는 디스크에 저장하거나 다른 처리 메서드로 전달할 수 있습니다. 이 메서드는 <head> 및 <body> 요소를 포함한 전체 페이지 마크업을 포함하여 W3C 표준을 준수하는 모든 HTML을 지원합니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
이 메서드는 PdfDocument 인스턴스를 반환합니다. saveAs을 호출하여 PDF를 디스크에 저장하거나, getBinaryData을 사용하여 스트리밍 또는 저장을 위한 원시 PDF 바이트를 가져올 수 있습니다.
renderHtmlAsPdf는 표준을 준수하는 브라우저와 동일한 방식으로 모든 HTML, CSS 및 JavaScript 콘텐츠를 처리합니다. 결과로 얻은 PDF는 Chrome에서 볼 때 페이지가 어떻게 보일지 정확히 반영합니다.
이 메서드에 대한 자세한 내용은 IronPDF Java 예제 페이지의 HTML 문자열을 PDF로 변환하는 코드 예제를 참조하세요.
HTML 문자열에서 로컬 자산을 로드하는 방법은?
HTML은 종종 상대 경로로 외부 자산(스타일시트, 이미지, 스크립트)을 참조합니다. renderHtmlAsPdf는 이러한 참조를 해결하기 위한 기본 경로를 설정하는 선택적 두 번째 인수를 받습니다. 기준 경로는 로컬 디렉토리나 URL을 가리킬 수 있습니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
기준 경로 인수는 절대 파일 시스템 경로와 URL 문자열 둘 다와 함께 작동합니다. 이로 인해 renderHtmlAsPdf은 디스크에 저장되거나 웹 서버에서 제공되는 템플릿을 사용하여 PDF를 생성하는 데 적합합니다.
C:\invoices\)를 사용하는 경로는 크로스 플랫폼 호환성을 위해 슬래시로 변환하거나 Paths.get()을 사용해야 합니다.Java에서 URL을 PDF로 변환하는 방법은?
PdfDocument.renderUrlAsPdf는 지정된 URL의 실시간 웹 페이지를 가져와 PDF로 렌더링합니다. 이 메서드는 모든 외부 CSS, JavaScript, 이미지 등을 포함하여 전체 페이지를 로드한 후 렌더링합니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
renderUrlAsPdf는 렌더링된 페이지를 캡처하기 전에 JavaScript 실행이 완료될 때까지 기다립니다. 즉, 동적으로 생성된 콘텐츠(차트나 AJAX를 통해 로드된 데이터 등)가 출력 PDF에 표시됩니다.
.NET 구현 버전이나 추가 URL-to-PDF 옵션에 대해서는 URL을 PDF로 변환하는 코드 예제를 참조하세요.
Java에서 HTML 파일을 PDF로 변환하는 방법은?
PdfDocument.renderHtmlFileAsPdf는 로컬 HTML 파일을 읽어와 PDF로 렌더링합니다. HTML 파일에 참조된 모든 상대 경로(스타일시트, 이미지, 스크립트)는 HTML 파일의 디렉토리를 기준으로 해결됩니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
이 접근법은 템플릿 문서 생성에 잘 맞습니다: 송장 템플릿, 보고서, 또는 CSS 및 이미지 자산과 함께 저장된 HTML 파일로서의 인증서. IronPDF는 브라우저만큼 정확하게 파일을 렌더링하며, 모든 CSS 레이아웃 규칙을 보존합니다.
renderHtmlFileAsPdf에 전달된 상대 경로는 JVM 작업 디렉터리에서 해결되므로, 서버 환경에서는 예상치 못한 결과가 발생할 수 있습니다.PDF 출력 설정을 사용자 정의하는 방법은?
PdfRenderOptions 클래스는 페이지 레이아웃과 렌더링 동작을 제어합니다. PdfRenderOptions 인스턴스를 생성하고, 필요한 속성을 구성한 후, 렌더링 메서드 중 하나에 전달하십시오.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
PdfRenderOptions 클래스는 DPI, 뷰포트 너비, 용지 방향 및 타임아웃 값을 제어하기 위한 추가 속성을 제공합니다. 사용 가능한 옵션의 전체 목록은 PDF 생성 설정 코드 예제를 참조하세요.
PDF에 헤더와 푸터를 추가하는 방법은?
IronPDF는 텍스트 기반 및 HTML 기반 헤더와 푸터를 모두 지원합니다. 텍스트 헤더는 페이지 번호 및 문서 제목과 같은 일반적인 값에 대한 사전 정의된 병합 필드를 사용합니다; HTML 헤더는 완전히 사용자 정의 가능한 레이아웃을 위한 임의의 HTML 마크업을 허용합니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
{page} 및 {total-pages} 병합 필드는 렌더링 시점에 현재 페이지 번호와 총 페이지 수로 대체됩니다. 회사 로고가 포함된 푸터와 같은 고급 레이아웃의 경우, TextHeaderFooter 대신 HtmlHeaderFooter을 사용하십시오.
HTML 기반 헤더와 푸터에 대한 전체 세부 정보는 헤더와 푸터 추가 코드 예제를 참조하세요.
사용자 정의 여백 및 페이지 크기를 설정하는 방법은?
페이지 크기와 여백은 PDF가 렌더링되기 전에 PdfRenderOptions 객체에서 구성됩니다. IronPDF는 표준 용지 크기(A4, Letter, Legal)를 지원하며 완전히 사용자 정의된 치수를 지원합니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
지원되는 용지 크기 및 단위의 전체 목록은 사용자 정의 용지 크기 코드 예제와 사용자 정의 여백 코드 예제를 참조하세요.
PDF에 워터마크를 추가하는 방법은?
PdfDocument.applyWatermark은 문서의 모든 페이지에 텍스트 또는 이미지 워터마크를 적용합니다. 워터마크는 기본적으로 페이지 콘텐츠 아래의 별도 레이어에 표시되며, isStampBehind 플래그가 false로 설정된 경우 페이지 콘텐츠 위에 표시됩니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
HTML 접근 방식은 폰트, 크기, 색상, 투명도를 포함한 워터마크 스타일링에 대한 정밀한 제어를 제공합니다. 타일 패턴 반복이나 이미지 기반 스탬프와 같은 고급 워터마크 구성에 대해서는 워터마크 방법 안내서를 참조하세요.
Java에서 PDF에서 텍스트를 추출하는 방법은?
PdfDocument.extractAllText는 PDF에 포함된 텍스트 콘텐츠를 읽어와 단일 String로 반환합니다. 이 메서드는 문서의 모든 페이지에서 선택 가능한 텍스트를 추출합니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
텍스트가 선택 가능한 글리프로 저장된 PDF에서 텍스트 추출이 funktioniert. 이미지 기반 스캔된 PDF의 경우, IronPDF를 OCR 라이브러리와 함께 사용하여 렌더링된 페이지 이미지에서 텍스트를 추출하는 것을 고려하세요.
추가 옵션, 페이지별 텍스트 추출을 포함한 텍스트 추출에 대한 정보는 PDF에서 텍스트 추출 코드 예제를 참조하세요.
Java에서 PDF에서 이미지를 추출하는 방법은?
PdfDocument.extractAllImages은 PDF에 포함된 각 이미지마다 하나씩, 총 BufferedImage 객체 목록을 반환합니다. 반환된 이미지는 직접 디스크에 저장하거나 이미지 처리 로직에 전달될 수 있습니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
추가 추출 옵션, 특정 페이지에서 이미지를 추출하는 방법은 PDF에서 이미지 추출 코드 예제를 참조하세요.
PDF 파일을 압축하는 방법은?
PdfDocument.compressImages은 삽입된 이미지를 낮은 품질로 재인코딩하여 PDF 파일 크기를 줄여줍니다. 해당 메서드는 1(최소 품질, 파일 크기 가장 작은)부터 100(최대 품질)의 품질 값을 허용합니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
이미지 압축은 사진이나 고해상도 그래픽으로 구성된 PDF의 크기를 줄이는 가장 효과적인 방법입니다. 내장된 글꼴 제거와 같은 추가 파일 크기 줄이기 전략에 대해서는 PDF 압축 코드 예제를 참조하세요.
프로그래밍 방식으로 PDF를 인쇄하는 방법은?
PdfDocument.print는 표준 Java 인쇄 API를 사용하여 PDF를 시스템의 기본 프린터로 전송합니다. 이 메서드는 인쇄 대화 상자를 나타낼지를 제어하는 부울 값을 허용합니다.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
true를 print 메서드에 전달하면 시스템 인쇄 대화 상자가 표시되어, 사용자가 인쇄 작업을 전송하기 전에 프린터를 선택하고 인쇄 설정을 구성할 수 있습니다.
다음 단계
이 튜토리얼은 Java용 IronPDF의 핵심 HTML-to-PDF 변환 메서드와 설치, 구성, 일반적인 문서 처리 작업을 다루었습니다.
더 나아가려면:
- 여기에 포함되지 않은 추가 렌더링 시나리오에 대해 HTML to PDF Java 코드 예제 전체 세트를 탐색하세요.
- 배치, 스레드 안전성, 서버 구성에 대해 이해하기 위해 IronPDF for Java 문서를 읽으세요.
- 상세한 메서드 시그니처 및 매개변수 설명을 위해 IronPDF Java API 레퍼런스 전체를 탐색하세요.
무료 체험을 시작하여 워터마크 없는 PDF를 생성하거나, 라이선스 옵션 보기를 통해 프로젝트에 맞는 계획을 찾으세요.
튜토리얼 바로가기
이 튜토리얼을 자바 소스 코드로 다운로드하세요.
이 튜토리얼에 대한 전체 HTML to PDF Java 소스 코드는 압축된 IntelliJ 프로젝트로서 다운로드할 수 있습니다.
다운로드GitHub에서 이 튜토리얼을 살펴보세요.
이 프로젝트의 소스 코드는 IntelliJ IDEA 프로젝트로서 GitHub에 있습니다. 이는 Eclipse 및 NetBeans를 포함한 다른 인기 있는 Java IDE로 가져올 수 있습니다.
GitHub의 Java HTML to PDFAPI 참조를 확인하세요.
모든 네임스페이스, 클래스, 메서드 및 라이브러리에서 사용 가능한 열거형을 다루는 IronPDF Java API 레퍼런스를 탐색하세요.
API 참조를 확인하세요.자주 묻는 질문
IronPDF for Java는 무엇에 사용되나요?
IronPDF for Java는 Java 애플리케이션 내에서 HTML 콘텐츠를 PDF 문서로 변환합니다. HTML 문자열, 로컬 HTML 파일, 라이브 웹 페이지 URL 변환을 지원하며, 헤더 및 푸터 추가, 워터마크, 텍스트 추출, 이미지 추출 및 파일 압축을 위한 도구도 제공합니다.
Java 프로젝트에 IronPDF를 설치하는 방법은 무엇인가요?
pom.xml에 두 가지 Maven 종속성을 추가하세요: com.ironsoftware:ironpdf 및 org.slf4j:slf4j-simple, 그런 다음 mvn install을 실행합니다. 또는 Maven Central에서 fat JAR을 다운로드하고 프로젝트 클래스 경로에 추가합니다.
Java에서 HTML 문자열을 PDF로 변환하려면 어떻게 해야 하나요?
귀하의 HTML 마크업과 함께 PdfDocument.renderHtmlAsPdf(htmlString)을 호출합니다. 이 메소드는 PdfDocument 객체를 반환합니다. 디스크에 쓰려면 pdf.saveAs("output.pdf")를 호출하세요.
Java에서 URL을 PDF로 어떻게 변환하나요?
PdfDocument.renderUrlAsPdf("https://example.com")을 호출하세요. IronPDF는 페이지를 가져오고 JavaScript를 실행할 때까지 대기한 다음 완전히 로드된 페이지를 PDF로 렌더링합니다.
Java에서 로컬 HTML 파일을 PDF로 변환하려면 어떻게 하나요?
PdfDocument.renderHtmlFileAsPdf("C:/path/to/file.html")을 호출합니다. 절대 파일 경로를 사용하세요. IronPDF는 HTML 파일 디렉토리에서 상대 CSS 및 이미지 참조를 자동으로 해결합니다.
IronPDF for Java는 생성된 PDF에 워터마크를 추가하나요?
라이센스 키가 없으면 IronPDF는 모든 생성된 PDF에 타일 형태의 워터마크를 추가합니다. 워터마크를 제거하려면 어떤 렌더링 호출 전에 License.setLicenseKey("YOUR-KEY")로 올바른 라이센스 키를 설정합니다.
IronPDF는 어떤 Java 버전을 필요로 하나요?
IronPDF for Java는 Java 8 이후 버전을 요구합니다. Spring Boot, Java EE, Micronaut 및 기타 JVM 기반 프레임워크와 호환됩니다.
IronPDF를 사용하여 Java에서 PDF에 페이지 번호를 어떻게 추가하나요?
TextHeaderFooter 인스턴스를 생성하고 setRightText("{page} of {total-pages}")를 호출합니다. 객체를 pdf.addTextFooters(footer)에 전달합니다. 합병 필드는 렌더링 시 실제 페이지 번호로 대체됩니다.
IronPDF for Java는 PDF에서 텍스트를 추출할 수 있나요?
네. PdfDocument.fromFile(Paths.get("file.pdf"))으로 PDF를 로드한 다음 pdf.extractAllText()를 호출하여 선택 가능한 모든 텍스트 콘텐츠를 문자열로 가져옵니다.
Java에서 PDF의 파일 크기를 어떻게 줄일 수 있나요?
품질이 1에서 100 사이의 정수인 pdf.compressImages(quality)를 호출합니다. 60 값은 대부분의 PDF에 대하여 파일 크기와 이미지 충실도 간의 균형을 제공합니다.





