IronPdfEngine은 모든 PDF 작업을 수행하는 gRPC 서버입니다 — 생성, 편집, 읽기 및 렌더링. IronPDF for Java 라이브러리는 이 서버의 API 래퍼입니다: Java 코드가 IronPDF 메서드를 호출할 때 IronPdfEngine이 작업을 실행합니다. 기본적으로 IronPDF for Java는 IronPdfEngine을 로컬 하위 프로세스로 생성하고 그 수명 주기를 자동으로 관리합니다. 더 고급 배포 — 공유 마이크로서비스, Docker 컨테이너 또는 에어 갭 네트워크 — 에서는 IronPdfEngine을 독립형 원격 서버로 실행할 수 있습니다.

퀵스타트: IronPdfEngine for Java 설정

IronPDF for Java의 각 버전은 IronPdfEngine의 일치하는 버전이 필요합니다. 교차 버전 호환성은 지원되지 않습니다. (필요한 버전을 확인하려면 Settings.getIronPdfEngineVersion()을(를) 사용하십시오.)}]

어떤 배포 모드를 사용해야 합니까?

IronPdfEngine은 로컬 및 원격 두 가지 배포 접근 방식을 지원합니다. 이를 선택하는 것은 애플리케이션 구조에 따라 다릅니다.

로컬 모드 (기본값)는 독립 실행형 애플리케이션, 데스크톱 도구 및 단일 서버 배포에 적합한 선택입니다. IronPDF for Java는 IronPdfEngine을 하위 프로세스로 자동 시작 - 별도의 인프라가 필요 없습니다. 로컬 모드 내에서는 IronPdfEngine 바이너리를 구하는 두 가지 옵션이 있습니다: 첫 실행 시 다운로드하거나 Maven 종속성으로 포함.

원격 모드는 여러 응용 프로그램 노드에서 단일 IronPdfEngine 인스턴스를 제공하는 분산 시스템에 적합합니다. 이는 Docker 기반 배포, Kubernetes Pods, 런타임에 바이너리를 다운로드할 수 없는 에어 갭 네트워크 및 PDF 처리를 중앙 집중화하여 서비스당 오버헤드를 줄이는 모든 시나리오에 선호되는 접근 방식입니다.

아래 섹션은 두 가지 모드를 모두 자세히 다룹니다.

로컬 IronPdfEngine을 어떻게 설정합니까?

IronPdfEngine을 로컬에서 실행하는 데는 두 가지 옵션이 있습니다. 두 방법은 동일한 런타임 동작을 생성합니다 — 차이점은 엔진 바이너리가 대상 머신에 언제 어떻게 도착하느냐입니다.

옵션 1: 런타임 시 IronPdfEngine 다운로드

기본적으로, 핵심 ironpdf 종속성을 추가하면 IronPDF는 첫 실행 시 호스트 플랫폼(예: Windows x64 또는 Linux x64)을 감지하고 인터넷에서 해당 IronPdfEngine 바이너리를 다운로드합니다.

//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>20xx.xx.xx</version>
</dependency>
//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>20xx.xx.xx</version>
</dependency>
XML

초기 다운로드 후 바이너리는 로컬에 캐시되고 이후 실행은 네트워크 호출 없이 시작됩니다.

옵션 1 — 런타임 다운로드: 트레이드 오프
장점제한
가장 작은 애플리케이션 패키지 크기 첫 실행 시 인터넷 접속 필요
하나의 아티팩트에서 여러 대상 플랫폼 지원 바이너리 다운로드 중 느린 첫 실행 시작

옵션 2: 종속성으로 IronPdfEngine 번들링 (권장)

IronPDF Java는 IronPdfEngine을 .zip 파일로 의존성 내에 묶어 제공하는 플랫폼별 Maven 아티팩트를 제공합니다. 라이브러리는 이를 자동으로 추출하여 사용합니다 — 런타임에 네트워크 호출이 필요 없습니다.

//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
XML

그런 다음 대상 환경에 대해 플랫폼 아티팩트를 추가합니다. 대상 플랫폼에 대한 아티팩트만 설치하십시오 — 각각은 크기가 크며, 모두 설치하면 빌드를 불필요하게 팽창시킵니다.

Windows x64

//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-windows-x64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-windows-x64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
XML

Windows x86

//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-windows-x86</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-windows-x86</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
XML

Linux x64

//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-linux-x64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-linux-x64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
XML

macOS x64

//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-macos-x64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-macos-x64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
XML

macOS ARM (Apple Silicon)

//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-macos-arm64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf-engine-macos-arm64</artifactId>
    <version>20xx.xx.xxxx</version>
</dependency>
XML

참고해 주세요ironpdfironpdf-engine-xxx-xxx 종속성 버전은 정확히 일치해야 합니다. 버전 문자열은 IronPDF for Java 릴리스를 참조하며, IronPdfEngine의 내부 버전 번호가 아닙니다.

옵션 2 — 번들 종속성: 트레이드 오프
장점제한
더 빠른 시작 - 다운로드 단계 없음 더 큰 애플리케이션 패키지
설치 후 인터넷 액세스 필요 없음 대상 플랫폼을 명시적으로 지정해야 함
에어 갭 환경에서 일관된 동작 여러 플랫폼 아티팩트를 설치하면 빌드 크기가 크게 증가합니다

원격 IronPdfEngine에 어떻게 연결합니까?

원격 모드는 여러 애플리케이션 인스턴스가 하나의 IronPdfEngine 서버를 gRPC로 공유할 수 있습니다. 이는 마이크로서비스 아키텍처, 컨테이너 배포 및 PDF 처리가 중앙 집중화된 환경에서 일반적입니다.

필요한 IronPdfEngine 버전을 어떻게 확인합니까?

버전 일치가 엄격합니다 — IronPDF for Java 2024.2.2는 IronPdfEngine 2024.2.2와 정확히 일치해야 합니다. 서버를 배포하기 전에 getIronPdfEngineVersion을 사용하여 필요한 버전을 확인하십시오:

//:path=Main.java
// Retrieve the IronPdfEngine version required by this Java library build
String ironPdfEngineVersion = Settings.getIronPdfEngineVersion();
System.out.println("Required IronPdfEngine version: " + ironPdfEngineVersion);
//:path=Main.java
// Retrieve the IronPdfEngine version required by this Java library build
String ironPdfEngineVersion = Settings.getIronPdfEngineVersion();
System.out.println("Required IronPdfEngine version: " + ironPdfEngineVersion);
JAVA

반환된 버전 문자열과 일치하는 IronPdfEngine Docker 이미지 또는 바이너리를 배포하거나 가져옵니다.

원격 연결을 어떻게 구성합니까?

IronPdfEngine이 123.456.7.8:33350에서 실행 중이라고 가정합니다. IronPDF 메서드를 호출하기 전에 호스트와 포트를 설정하십시오. 가장 좋은 방법은 이러한 호출을 애플리케이션 시작 시 모든 PDF 작업 전에 배치하는 것입니다.

//:path=Main.java
// Configure IronPDF for Java to connect to a remote IronPdfEngine instance
com.ironsoftware.ironpdf.Settings.setIronPdfEngineHost("123.456.7.8");
com.ironsoftware.ironpdf.Settings.setIronPdfEnginePort(33350);
//:path=Main.java
// Configure IronPDF for Java to connect to a remote IronPdfEngine instance
com.ironsoftware.ironpdf.Settings.setIronPdfEngineHost("123.456.7.8");
com.ironsoftware.ironpdf.Settings.setIronPdfEnginePort(33350);
JAVA

이 두 줄이 실행되면 애플리케이션의 모든 이후 IronPDF 호출은 원격 서버로 라우팅됩니다. pom.xml에서는 로컬 IronPdfEngine 하위 프로세스가 시작되지 않으며, 플랫폼별 엔진 종속성도 필요하지 않습니다.

IronPdfEngine 호스트 주소가 애플리케이션 서버에서 접근 가능한지, 그리고 두 서버 사이의 방화벽이나 보안 그룹에서 33350 포트가 열려 있는지 확인하십시오.

완전한 원격 설정은 어떻게 생겼습니까?

다음 예제는 원격 IronPdfEngine 인스턴스에 연결하여 HTML 문자열을 PDF 파일로 렌더링합니다 — 로컬 모드에서 사용된 동일한 API입니다, 구성만 다릅니다:

//:path=Main.java
import com.ironsoftware.ironpdf.*;

public class Main {
    public static void main(String[] args) throws Exception {
        // Point the library to the remote IronPdfEngine server
        Settings.setIronPdfEngineHost("123.456.7.8");
        Settings.setIronPdfEnginePort(33350);

        // Render HTML to PDF — IronPdfEngine on the remote host performs the work
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from remote IronPdfEngine</h1>");
        pdf.saveAs("output.pdf");
    }
}
//:path=Main.java
import com.ironsoftware.ironpdf.*;

public class Main {
    public static void main(String[] args) throws Exception {
        // Point the library to the remote IronPdfEngine server
        Settings.setIronPdfEngineHost("123.456.7.8");
        Settings.setIronPdfEnginePort(33350);

        // Render HTML to PDF — IronPdfEngine on the remote host performs the work
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from remote IronPdfEngine</h1>");
        pdf.saveAs("output.pdf");
    }
}
JAVA

렌더링된 PDF는 gRPC를 통해 Java 프로세스로 반환되고 로컬에 저장됩니다. 원격 서버는 모든 Chrome 기반 렌더링, 폰트 로딩 및 리소스 해결을 처리합니다.

다음 단계는 무엇인가요?

IronPdfEngine이 구성되면 IronPDF for Java의 전체 기능 세트가 사용 가능 — HTML에서 PDF, PDF 편집, 병합, 스탬핑 등이 포함됩니다.

자주 묻는 질문

IronPdfEngine은 무엇이며 왜 IronPDF for Java가 그것을 필요로 하나요?

IronPdfEngine은 모든 PDF 작업(생성, 편집, 읽기 및 렌더링)을 수행하는 gRPC 서버입니다. IronPDF for Java는 이 서버를 감싸는 API로, 모든 Java 메서드 호출은 IronPdfEngine에서 처리됩니다. 이것 없이는 Java 라이브러리가 PDF 작업을 수행할 수 없습니다.

로컬과 원격 IronPdfEngine의 차이점은 무엇인가요?

로컬 모드는 Java 애플리케이션과 동일한 머신에서 IronPdfEngine을 하위 프로세스로 시작하며 추가 인프라가 필요 없습니다. 원격 모드는 gRPC를 통해 독립적인 IronPdfEngine 서버에 연결하며, 이는 마이크로서비스, Docker 배포 및 공유 PDF 처리 노드에 적합합니다.

언제 로컬 대신 원격 IronPdfEngine을 사용해야 하나요?

여러 애플리케이션 인스턴스가 하나의 PDF 처리 서버를 공유해야 할 때, Kubernetes 또는 Docker Compose 환경에 배포하거나 런타임에 바이너리를 다운로드할 수 없는 에어 갭 네트워크에서 실행될 때 원격 IronPdfEngine을 사용하세요.

원격 IronPdfEngine 연결을 Java에서 어떻게 구성하나요?

애플리케이션 시작 시 Settings.setIronPdfEngineHost()에 서버 IP 또는 호스트 이름을, Settings.setIronPdfEnginePort()에 포트 번호를 설정한 후, IronPDF 메서드를 호출하기 전 선행합니다. 기본 IronPdfEngine 포트는 33350입니다.

IronPdfEngine을 종속 항목으로 번들로 묶기 위해 어떤 Maven 아티팩트를 사용해야 하나요?

대상 배포와 일치하는 플랫폼 전용 아티팩트를 추가하세요. 예를 들어, Linux 서버용 ironpdf-engine-linux-x64 또는 Windows용 ironpdf-engine-windows-x64. 아티팩트 버전은 ironpdf 코어 종속 항목 버전과 정확히 일치해야 합니다.

Java 라이브러리가 필요로 하는 IronPdfEngine 버전을 어떻게 확인하나요?

Java 코드에서 Settings.getIronPdfEngineVersion()을 호출합니다. 배포할 IronPdfEngine 바이너리 또는 Docker 이미지와 일치해야 하는 정확한 버전 문자열을 반환합니다.

하나의 프로젝트에 여러 플랫폼 엔진 종속 항목을 설치할 수 있나요?

기술적으로는 가능하지만, 각 아티팩트는 크며 불필요하게 여러 개를 설치할 경우 빌드가 부풀어집니다. 대상 배포 플랫폼에 맞는 아티팩트만 설치하세요.

IronPDF for Java를 사용하려면 인터넷 연결이 필요한가요?

런타임 다운로드 옵션을 사용할 경우에만(일부 플랫폼 종속 항목이 pom.xml에 없음) 필요합니다. 첫 실행 시 IronPDF가 플랫폼에 맞는 IronPdfEngine 바이너리를 다운로드합니다. 다운로드 후에는 인터넷 접속이 필요 없습니다. 번들된 플랫폼 종속 항목을 추가하거나 원격 모드를 사용할 경우 어느 시점에서도 인터넷 접속이 필요하지 않습니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
버전: 2026.5 just released
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요?
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.