Node.js 로 PDF 파일을 만드는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

Node.js에서 프로그래밍 방식으로 PDF 파일을 생성하려면 HTML 렌더링을 정확하게 처리하고, 최신 CSS를 지원하며, Node의 비동기 패턴과 깔끔하게 통합되는 라이브러리가 필요합니다. IronPDF는 Chromium 기반 렌더링 엔진을 사용하여 HTML 콘텐츠를 Chrome의 인쇄 출력과 일치하는 PDF로 변환하며, 전체 CSS, 인라인 JavaScript 및 반응형 레이아웃을 기본적으로 지원합니다.

이 가이드는 설치, HTML 문자열, HTML 파일, URL에서 PDF 생성, 출력 옵션 구성, 헤더, 푸터, 디지털 서명, 암호화와 같은 Enterprise 기능을 적용하는 전체 워크플로우를 다룹니다.

빠른 시작: Node.js에서 PDF 만들기

  1. npm을 통해 IronPDF 설치: npm install @ironsoftware/ironpdf
  2. PdfDocument@ironsoftware/ironpdf에서 가져오기
  3. HTML 콘텐츠로 PdfDocument.fromHtml() 호출하기
  4. PDF 파일을 디스크에 쓰기 위해 .saveAs() 호출하기
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.js

배포하기 전에 플랫폼에 맞춰 IronPdfEngine을 설정하세요. Windows, Linux, macOS 및 Docker에 대한 사용 지침은 IronPdfEngine 설정 가이드를 참조하세요.

Node.js 용 IronPDF 어떻게 설치하나요?

npm을 사용하여 @ironsoftware/ironpdf 패키지를 설치하세요. 이 패키지는 Node.js 12.0 이상과 ESM 및 CommonJS 모듈 형식을 지원합니다.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
SHELL

IronPDF for Node.js는 Chromium 기반의 렌더링을 처리하는 IronPDF 엔진 바이너리에 의존합니다. 엔진은 첫 실행 시 자동으로 다운로드되지만 실행 중 다운로드를 피하기 위해 플랫폼별 패키지를 미리 설치할 수 있습니다. 이것은 제한된 네트워크 환경이나 Docker 기반 CI 파이프라인에서 유용합니다:

오프라인 또는 제한된 환경에서 설치를 위한 IronPDF 엔진 플랫폼 패키지
플랫폼패키지
Windows x64@ironsoftware/IronPDF-engine-Windows-x64
Linux x64@ironsoftware/IronPDF-engine-linux-x64
macOS x64@ironsoftware/IronPDF-engine-macos-x64
macOS ARM@ironsoftware/IronPDF-engine-macos-arm64

참고해 주세요유효한 라이선스 키는 생성된 PDF에서 워터마크를 제거합니다. 첫 PdfDocument 호출 전에 IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" })를 설정하여 적용하세요. 전체 라이선스 키 설정 지침을 따르세요.

IronPDF의 시스템 요구 사항은 무엇인가요?

IronPDF for Node.js는 Windows, Linux, macOS 및 Docker 환경에서 Node.js 12.0 이상에서 실행됩니다. 이 라이브러리는 x64 및 ARM64 아키텍처 둘 다 지원하여 로컬 개발 및 컨테이너화된 배포에 적합합니다. 클라우드 환경에서는 로컬에서 엔진을 실행하는 대신 원격 IronPDF 엔진에 연결하는 것도 지원합니다.


Node.js에서 HTML로 PDF를 만드는 방법은?

PdfDocument.fromHtml()을 사용하여 HTML 문자열에서 PDF를 생성하세요. 이 메서드는 인라인 <style> 블록, CDN을 통해 로드된 외부 폰트, CSS Grid나 Flexbox 같은 레이아웃 시스템을 포함한 모든 유효한 HTML을 수용합니다. Chromium 렌더러는 PDF를 생성하기 전에 모든 리소스를 해결합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.js

PdfDocument.fromHtml()PdfDocument 인스턴스를 반환합니다. 파일을 쓰기 위해 원하는 출력 경로와 함께 saveAs()을 호출하세요. 이 메서드는 비동기적이므로 await을 사용하거나 .then() 핸들러를 체인으로 연결하세요. Chromium 엔진은 폰트 로딩, 외부 스타일시트 및 자산 해결을 처리한 후 출력을 캡처합니다. 더 많은 패턴을 보려면 HTML 문자열에서 PDF 생성 예제를 참조하세요.

HTML 파일로부터 PDF 생성 방법은?

.html 파일을 PdfDocument.fromFile()를 사용하여 디스크에서 불러오세요. 이 접근 방식은 HTML이 애플리케이션 로직과 별개로 유지되는 템플릿 문서에 적합합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.js

렌더러는 HTML 파일 디렉토리의 상대적 자산 경로를 해결하여 로컬 CSS 및 이미지 참조가 추가 구성 없이 작동합니다. 자산 해결을 위한 기본 URL을 재정의하는 방법을 비롯한 추가 옵션은 HTML 파일에서 PDF 생성 예제를 참조하세요.

URL로부터 PDF 생성 방법은?

PdfDocument.fromUrl()을 사용하여 라이브 웹 페이지를 PDF로 렌더링하세요. 렌더러는 JavaScript를 실행하고 CSS를 적용하며, 동적 콘텐츠를 캡처하기 전에 대기하면서 페이지를 전체 브라우저 세션으로 로드합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.js

JavaScript로 비동기적으로 콘텐츠를 로드하는 페이지의 경우, 캡처 전에 추가 시간을 허용하기 위해 renderDelay 옵션(밀리초 단위)과 함께 사용하세요. URL에서 PDF 생성 예제는 지연 구성 및 인증 헤더를 설명합니다.


Icon Quote related to URL로부터 PDF 생성 방법은?

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic related to URL로부터 PDF 생성 방법은?

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기
Icon Quote related to URL로부터 PDF 생성 방법은?

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

Brent Matzelle related to URL로부터 PDF 생성 방법은?

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기
Icon Quote related to URL로부터 PDF 생성 방법은?

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

David Jones related to URL로부터 PDF 생성 방법은?

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

PDF 출력 설정을 구성하는 방법은?

PdfDocument.fromHtml(), PdfDocument.fromFile(), 또는 PdfDocument.fromUrl()에 두 번째 인수로 구성 객체를 전달하세요. 구성 객체는 용지 크기, 여백, 방향 및 렌더링 옵션을 허용합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.js

주요 구성 옵션은 다음과 같습니다:

paperSize: PdfPaperSize 열거형 값(A4, Letter, Legal, 사용자 정의 크기)을 수용 — landscape: 가로 페이지 방향을 위해 true 설정 — printBackground: CSS 배경 색상 및 이미지를 포함 — marginTop/Bottom/Left/Right: 밀리미터 단위의 페이지 여백 — renderDelay: JavaScript가 많은 페이지를 위해 캡처 전에 대기할 밀리초

PDF에 머리글과 바닥글을 추가하는 방법은?

구성 객체에 htmlHeaderhtmlFooter 속성을 제공하여 헤더와 푸터를 추가하세요. 둘 다 HTML 전체 문자열을 허용하며, 페이지 번호, 날짜 및 동적 텍스트로 스타일이 지정된 콘텐츠를 가능하게 합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.js

푸터 HTML에 {page}{total-pages} 토큰을 사용하세요. IronPDF는 렌더링 시간에 정확한 값을 대체합니다. HTML 머리글 및 바닥글고급 헤더 기술을 포함하여 더 많은 머리글 및 바닥글 패턴은 연결된 예제를 참조하세요.


PDF에 보안 및 메타데이터를 추가하는 방법은?

PdfDocument 보안 메서드를 사용하여 생성된 PDF에 암호 보호 및 암호화를 적용하세요. 이 라이브러리는 소유자와 사용자 암호 모두를 지원하며, 인쇄, 복사, 편집에 대한 세밀한 권한 제어를 제공합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.js

암호가 적용될 때 기본적으로 AES 256비트 암호화를 사용하는 암호화 및 해독. 문서 인증 워크플로우를 위해 IronPDF는 X.509 인증서를 사용한 디지털 서명도 지원합니다.

장기 보관 준수 문서의 경우 PdfDocument.fromHtml() 후 PDF/A 변환 메서드를 사용하세요. IronPDF는 PDF/A 준수PDF/UA 접근성 표준을 지원합니다.


기존 PDF를 병합하고 조작하는 방법은?

PdfDocument는 기존 PDF 파일을 병합, 분할 및 수정하는 데 필요한 메서드를 제공합니다. PdfDocument.fromFile()를 사용하여 기존 PDF를 불러오고, 조작 메서드를 사용하여 페이지를 추가하거나 제거하고, 콘텐츠에 스탬프를 찍거나 텍스트를 교체하세요.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.js

PdfDocument.mergePdf()PdfDocument 인스턴스 배열을 수용하며 단일 병합 문서를 반환합니다. 페이지 순서는 배열 순서를 따르므로 출력은 입력 파일의 순서를 보존합니다.

다른 일반적 조작 작업:

PDF에서 페이지를 제거하세요 by using removePages()

대량 작업의 경우, 멀티스레드 PDF 생성을 사용하여 여러 문서를 병렬로 처리할 수 있습니다. PDF 압축은 저장 및 전송을 위한 파일 크기를 줄입니다.


차트와 Angular 페이지 같은 복잡한 콘텐츠에 대한 PDF를 생성하는 방법은?

IronPDF는 전체 Chromium 브라우저 세션을 사용하여 페이지를 렌더링하므로 차트, 그래프, 데이터 시각화를 생성하는 JavaScript 라이브러리가 적절하게 렌더링되며, JavaScript 차트 라이브러리를 포함합니다. Angular와 같은 프레임워크로 구축된 단일 페이지 애플리케이션도 Angular에서 PDF 예제를 사용하여 깔끔하게 변환됩니다.

유니코드가 많은 문서나 다국어 출력을 위해 IronPDF는 추가적인 구성 없이 유니코드 및 국제 문자 세트를 처리합니다. Google Fonts 통합 예제는 출력 PDF의 일관된 타이포그래피를 위해 렌더링된 HTML에서 웹 폰트를 로드하는 방법을 보여줍니다.

참고해 주세요IronPDF의 Chromium 렌더러는 PDF를 캡처하기 전 JavaScript를 실행합니다. 차트 라이브러리 또는 SPA가 DOM이 로드된 후 데이터 렌더링을 위해 추가 시간이 필요한 경우 페이지가 완전히 렌더링되도록 renderDelay을 밀리초 단위로 설정하세요.


Node.js에서 PDF를 생성하기 위한 다음 단계는?

이 가이드는 IronPDF의 핵심 워크플로우를 다루었습니다: 라이브러리 설치, HTML 문자열, 파일, URL에서 PDF 생성, 출력 설정 구성, 머리글 및 바닥글 추가, 보안 적용, 기존 PDF 조작.

계속 진행하려면, 렌더링 옵션에 대한 더 깊이 있는 가이드를 위해 전체 HTML to PDF 튜토리얼을 시도하거나, 전체 PdfDocument 메서드 및 구성 속성 목록을 보려면 API Reference를 참조하세요.

무료 체험판 시작을 통해 워터마크 없이 PDF를 생성하거나, 프로덕션 배포를 위해 라이선스 옵션 보기.

자주 묻는 질문

Node.js에서 PDF 파일을 만드는 가장 쉬운 방법은 무엇인가요?

npm install @ironsoftware/ironpdf로 IronPDF를 설치한 후, PdfDocument.fromHtml()와 HTML 문자열을 호출하고 결과를 saveAs()를 사용하여 저장하세요. 라이브러리는 모든 렌더링을 자동으로 처리합니다.

Node.js용 IronPDF를 어떻게 설치하나요?

프로젝트 디렉터리에서 npm install @ironsoftware/ironpdf를 실행하세요. IronPDF 엔진 이진 파일은 처음 사용할 때 자동으로 다운로드됩니다. 오프라인 또는 CI 환경의 경우, @ironsoftware/ironpdf-engine-linux-x64와 같은 플랫폼별 엔진 패키지를 별도로 설치하세요.

CSS 스타일과 서식을 유지하면서 HTML을 PDF로 변환할 수 있나요?

네. IronPDF는 Chrome 기반의 렌더링 엔진을 사용하여 HTML을 PDF로 변환할 때 모든 CSS 스타일, 외부 폰트, JavaScript 실행을 그대로 유지합니다. 출력물은 Chrome의 인쇄 미리보기 동작과 일치합니다.

기본 HTML 변환 외에 어떤 PDF 기능이 제공되나요?

IronPDF는 전자 서명, AES 256비트 암호화, 세분화된 권한의 암호 보호, 페이지 번호 토큰이 있는 사용자 지정 머리글 및 바닥글, PDF 병합, 페이지 제거, HTML 스탬핑, 텍스트 추출, PDF/A 준수 및 멀티 스레드 생성을 지원합니다.

디스크에 있는 HTML 파일에서 PDF를 어떻게 생성하나요?

PdfDocument.fromFile('./path/to/template.html')을 사용하세요. 렌더러는 HTML 파일의 디렉토리에서 상대 자산 경로를 해결하므로, 로컬 CSS 및 이미지 참조는 추가 설정 없이 작동합니다.

IronPDF를 사용하여 기존 PDF 파일에서 텍스트를 추출할 수 있습니까?

네. PdfDocument.fromFile()을 사용하여 기존 PDF를 로드하고 텍스트 추출 메서드를 사용하여 모든 페이지의 콘텐츠를 읽을 수 있습니다. IronPDF는 새로운 PDF를 생성하는 것과 기존 문서를 처리하는 것을 모두 지원합니다.

IronPDF는 HTML을 렌더링할 때 JavaScript 실행을 지원하나요?

네. Chromium 렌더러는 PDF를 캡처하기 전에 JavaScript를 실행합니다. 비동기적으로 콘텐츠를 로드하는 페이지의 경우, 캡처 전에 추가 시간을 주기 위해 밀리초 단위로 renderDelay 옵션을 설정하세요.

Darrius Serrant
풀스택 소프트웨어 엔지니어 (웹 운영)

다리우스 세런트는 마이애미 대학교에서 컴퓨터 과학 학사 학위를 받았으며, Iron Software에서 풀 스택 웹 운영 마케팅 엔지니어로 근무하고 있습니다. 어린 시절부터 코딩에 매료되었던 그는 컴퓨팅이 신비로우면서도 접근하기 쉬운 분야라고 생각했고, 창의력과 문제 해결 능력을 발휘하기에 완벽한 매체라고 여겼습니다.

Iron Software에서 다리우스는 새로운 것을 만들고 복잡한 개념을 단순화하여 더 쉽게 이해할 수 있도록 하는 것을 즐깁니다. 그는 사내 개발자로서 학생들을 가르치는 데에도 자원하여 차세대 인재들과 전문 지식을 공유하고 있습니다.

다리우스에게 있어 그의 일은 가치 있고 실질적인 영향을 미치기 때문에 보람 있는 일입니다.

시작할 준비 되셨나요?
버전: 2026.6 방금 출시
Still Scrolling Icon

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

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