IronPDF 시작하기 Java AWS Lambda를 사용하여 PDF 생성 및 편집 AWS Lambda에서 Java용 IronPDF를 실행하는 방법 커티스 차우 업데이트됨:11월 5, 2025 다운로드 IronPDF 메이븐 다운로드 JAR 다운로드 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 This article was translated from English: Does it need improvement? Translated View the article in English 중요: 필수 설정 IronPDF는 런타임에 바이너리 실행이 필요하므로 ZIP 배포는 지원되지 않습니다. IronPDF for Java는 Docker 배포만 지원하므로 PackageType를 Image로 설정해야 합니다. 반드시 AmazonLinux2 Docker 이미지를 사용해야 합니다. IronPdfEngineWorkingDirectory를 다음과 같이 설정해야 합니다. import com.ironsoftware.ironpdf.Settings; import java.nio.file.Paths; // Setting the working directory for IronPDF engine Settings.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/")); import com.ironsoftware.ironpdf.Settings; import java.nio.file.Paths; // Setting the working directory for IronPDF engine Settings.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/")); JAVA 참고: 이는 AWS에서 실행 환경에 허용하는 유일한 경로이므로 필수 사항입니다. /tmp 크기를 늘리십시오. 기본값은 512MB입니다. 최소 1024MB로 설정해 주세요. 프로젝트에 ironpdf-engine-linux-x64 종속성을 포함하세요. <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf-engine-linux-x64</artifactId> <version>2022.xx.x</version> </dependency> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf-engine-linux-x64</artifactId> <version>2022.xx.x</version> </dependency> XML 시작 속도가 느리므로 Lambda 타임아웃을 330초로 설정하세요. Lambda 메모리 크기를 최소 1024MB로 설정하십시오. IntelliJ IDEA용 AWS 툴킷(AWS SAM) 빠른 시작 도구 설치: IntelliJ IDEA - IntelliJ IDEA 다운로드 AWS 툴킷 - JetBrains용 AWS 툴킷 설정 SAM CLI - 서버리스 애플리케이션용 SAM CLI를 설치하세요 Docker - Docker Community Edition 설치 (선택 사항, 로컬 테스트용): Java 8 - Java SE 개발 키트 8을 다운로드하세요 메이븐 - 메이븐 설치 가이드라인 프로젝트 생성: (File -> New -> Project...) 구성: 패키지 유형: Image 런타임: java8 또는 java11 SAM 템플릿: Maven 다음 종속성을 pom.xml에 추가하세요. <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.3</version> </dependency> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf-engine-linux-x64</artifactId> <version>2022.11.1</version> </dependency> <dependency> <groupId>io.perfmark</groupId> <artifactId>perfmark-api</artifactId> <version>0.26.0</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-okhttp</artifactId> <version>1.50.2</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty-shaded</artifactId> <version>1.50.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.3</version> </dependency> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf-engine-linux-x64</artifactId> <version>2022.11.1</version> </dependency> <dependency> <groupId>io.perfmark</groupId> <artifactId>perfmark-api</artifactId> <version>0.26.0</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-okhttp</artifactId> <version>1.50.2</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty-shaded</artifactId> <version>1.50.2</version> </dependency> XML App.java의 handleRequest 함수 코드를 다음과 같이 변경하십시오. import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent; import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.Settings; import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; // AWS Lambda function to generate a PDF from a URL using IronPDF. public class App { public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) { APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent(); // Enable debugging for IronPDF (optional) Settings.setDebug(true); // Set the working directory for the IronPDF engine (required) Settings.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/")); try { context.getLogger().log("RENDER PDF"); // Render the PDF from a URL PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.google.com"); context.getLogger().log("RENDER PDF SUCCESS"); // Save the generated PDF to a file pdf.saveAs("/tmp/my-first-pdf.pdf"); // Set HTTP response headers Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); headers.put("X-Custom-Header", "application/json"); // Return the successful response return response .withHeaders(headers) .withStatusCode(200) .withBody("ENJOY IRON-PDF!"); } catch (Exception e) { // Return the error response return response .withBody("{" + e.getMessage() + "}") .withStatusCode(500); } } } import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent; import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.Settings; import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; // AWS Lambda function to generate a PDF from a URL using IronPDF. public class App { public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) { APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent(); // Enable debugging for IronPDF (optional) Settings.setDebug(true); // Set the working directory for the IronPDF engine (required) Settings.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/")); try { context.getLogger().log("RENDER PDF"); // Render the PDF from a URL PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.google.com"); context.getLogger().log("RENDER PDF SUCCESS"); // Save the generated PDF to a file pdf.saveAs("/tmp/my-first-pdf.pdf"); // Set HTTP response headers Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); headers.put("X-Custom-Header", "application/json"); // Return the successful response return response .withHeaders(headers) .withStatusCode(200) .withBody("ENJOY IRON-PDF!"); } catch (Exception e) { // Return the error response return response .withBody("{" + e.getMessage() + "}") .withStatusCode(500); } } } JAVA Lambda 설정을 template.yaml에 설정하세요: Globals: Function: Timeout: 400 MemorySize: 2048 EphemeralStorage: Size: 1024 # Do not modify other configurations Globals: Function: Timeout: 400 MemorySize: 2048 EphemeralStorage: Size: 1024 # Do not modify other configurations YAML Dockerfile 업데이트: 참고: Java 8의 경우, java8.al2 이미지를 사용하십시오. 이 이미지는 AmazonLinux2를 사용하는 반면, java8는 이전 버전인 AmazonLinux를 사용합니다. FROM public.ecr.aws/sam/build-java8.al2:latest as build-image WORKDIR "/task" COPY src/ src/ COPY pom.xml ./ RUN mvn -q clean install RUN mvn dependency:copy-dependencies -DincludeScope=compile FROM public.ecr.aws/lambda/java:8.al2 RUN yum update -y RUN yum install -y pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 \ libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 \ cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 \ alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts \ xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils \ xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc \ glibc-devel.x86_64 at-spi2-atk.x86_64 mesa-libgbm.x86_64 libxkbcommon \ amazon-linux-extras RUN amazon-linux-extras install epel -y RUN yum install -y libgdiplus RUN chmod 777 /tmp/ COPY --from=build-image /task/target/classes /var/task/ COPY --from=build-image /task/target/dependency /var/task/lib # Command can be overridden by providing a different command in the template directly. CMD ["helloworld.App::handleRequest"] 프로젝트를 빌드하세요: sam build -u sam build -u SHELL 프로젝트를 배포합니다. sam deploy --guided sam deploy --guided SHELL AWS Lambda에서 IronPDF를 사용해 보세요! 이제 함수가 활성화되었습니다. AWS Lambda 콘솔에 접속하세요. 자주 묻는 질문 AWS Lambda에서 Java를 사용하여 PDF를 생성하고 편집하는 방법은 무엇인가요? 'AmazonLinux2' Docker 이미지를 사용하여 환경을 설정하고 /tmp 디렉터리 크기 증가 및 Lambda 시간 초과 설정과 같은 필요한 설정을 구성하면 AWS Lambda에서 IronPDF for Java를 사용할 수 있습니다. AWS Lambda에서 PDF 처리를 위해 Zip Deployment를 사용할 수 없는 이유는 무엇인가요? AWS Lambda에서 IronPDF는 런타임 시 바이너리 실행이 필요하므로 Zip 배포를 지원하지 않습니다. Docker 배포를 위해서는 'PackageType'을 'Image'로 설정해야 합니다. AWS Lambda에서 IronPDF의 작업 디렉터리에 필요한 구성은 무엇입니까? IronPDF 엔진의 작업 디렉토리를 '/tmp/'로 설정하고 PDF 처리를 효율적으로 수행할 수 있도록 디렉토리 크기를 최소 1024MB로 늘리십시오. AWS Lambda에서 Maven 프로젝트를 사용하여 PDF를 생성하려면 어떤 종속성을 포함해야 합니까? PDF 생성 및 편집을 활성화하려면 Maven 프로젝트의 pom.xml 파일에 'ironpdf-engine-linux-x64' 종속성을 비롯한 필요한 라이브러리를 추가하십시오. AWS Lambda에서 Java를 사용하여 URL로부터 PDF를 렌더링하려면 어떻게 해야 합니까? IronPDF의 `PdfDocument.renderUrlAsPdf` 메서드를 사용하여 URL을 PDF 문서로 변환하고, `pdf.saveAs` 메서드를 사용하여 저장하십시오. PDF 처리를 위한 Lambda 타임아웃 및 메모리 설정 권장 사항은 무엇입니까? AWS Lambda에서 IronPDF의 처리 요구 사항을 충족하려면 Lambda 타임아웃을 330초로 설정하고 최소 1024MB의 메모리를 할당하십시오. AWS Lambda에서 Java를 사용하여 PDF 작업을 실행하는 데 사용할 수 있는 런타임 환경은 무엇입니까? IronPDF는 AWS Lambda에서 PDF 처리 작업을 실행하기 위해 'java8' 및 'java11' 런타임 환경을 지원합니다. Java를 사용하여 IntelliJ IDEA용 AWS Toolkit으로 PDF 처리를 빠르게 시작하려면 어떻게 해야 하나요? IntelliJ IDEA, AWS Toolkit, SAM CLI 및 Docker를 설치하세요. 선택적으로 로컬 테스트를 위해 Java 8 및 Maven을 설정한 다음 빠른 시작 가이드를 따라 프로젝트를 생성하고 구성하세요. SAM CLI를 사용하여 AWS Lambda에 Java PDF 처리 프로젝트를 배포하는 과정은 무엇입니까? 먼저 `sam build -u` 명령어를 사용하여 프로젝트를 빌드한 다음, `sam deploy --guided` 를 사용하여 배포하면 AWS Lambda에서 PDF 처리를 효율적으로 설정할 수 있습니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 시작할 준비 되셨나요? 버전: 2026.2 방금 출시되었습니다 무료 Maven 다운로드 라이선스 보기