# Node.js 로 PDF 파일을 만드는 방법
Node.js에서 프로그래밍 방식으로 PDF 파일을 생성하려면 HTML 렌더링을 정확하게 처리하고, 최신 CSS를 지원하며, Node의 비동기 패턴과 깔끔하게 통합되는 라이브러리가 필요합니다. [IronPDF](https://ironpdf.com/nodejs/docs/)는 Chromium 기반 렌더링 엔진을 사용하여 HTML 콘텐츠를 Chrome의 인쇄 출력과 일치하는 PDF로 변환하며, 전체 CSS, 인라인 JavaScript 및 반응형 레이아웃을 기본적으로 지원합니다.
이 가이드는 설치, HTML 문자열, HTML 파일, URL에서 PDF 생성, 출력 옵션 구성, 헤더, 푸터, 디지털 서명, 암호화와 같은 Enterprise 기능을 적용하는 전체 워크플로우를 다룹니다.
*as-heading:2(빠른 시작: Node.js에서 PDF 만들기)*
1. npm을 통해 IronPDF 설치: `npm install @ironsoftware/ironpdf`
2. `PdfDocument`을 `@ironsoftware/ironpdf`에서 가져오기
3. HTML 콘텐츠로 `PdfDocument.fromHtml()` 호출하기
4. PDF 파일을 디스크에 쓰기 위해 `.saveAs()` 호출하기
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
```
배포하기 전에 플랫폼에 맞춰 `IronPdfEngine`을 설정하세요. Windows, Linux, macOS 및 Docker에 대한 사용 지침은 [IronPdfEngine 설정 가이드](https://ironpdf.com/nodejs/get-started/use-ironpdfengine/)를 참조하세요.
<div class="hsg-featured-snippet">
<h3>최소 워크플로우(5단계)</h3>
<ol>
<li>IronPDF 설치: <code>npm install @ironsoftware/ironpdf</code></li>
<li><code>@ironsoftware/ironpdf</code>에서 <code>PdfDocument</code>를 가져오기</li>
<li><code>PdfDocument.fromHtml()</code>, <code>PdfDocument.fromFile()</code>, <code>PdfDocument.fromUrl()</code>을 사용하여 PDF 생성</li>
<li>용지 크기, 여백, 헤더, 푸터와 같은 옵션 설정</li>
<li><code>pdf.saveAs("output.pdf")</code>로 출력 저장</li>
</ol>
</div>
## Node.js 용 IronPDF 어떻게 설치하나요?
[npm](https://www.npmjs.com/package/@ironsoftware/ironpdf)을 사용하여 `@ironsoftware/ironpdf` 패키지를 설치하세요. 이 패키지는 [Node.js](https://nodejs.org/) 12.0 이상과 ESM 및 CommonJS 모듈 형식을 지원합니다.
```bash
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
```
IronPDF for Node.js는 Chromium 기반의 렌더링을 처리하는 IronPDF 엔진 바이너리에 의존합니다. 엔진은 첫 실행 시 자동으로 다운로드되지만 실행 중 다운로드를 피하기 위해 플랫폼별 패키지를 미리 설치할 수 있습니다. 이것은 제한된 네트워크 환경이나 Docker 기반 CI 파이프라인에서 유용합니다:
<table class="content__data-table" data-content-table>
<caption>오프라인 또는 제한된 환경에서 설치를 위한 IronPDF 엔진 플랫폼 패키지</caption>
<thead>
<tr><th>플랫폼</th><th>패키지</th></tr>
</thead>
<tbody>
<tr><td>Windows x64</td><td><code>@ironsoftware/IronPDF-engine-Windows-x64</code></td></tr>
<tr><td>Linux x64</td><td><code>@ironsoftware/IronPDF-engine-linux-x64</code></td></tr>
<tr><td>macOS x64</td><td><code>@ironsoftware/IronPDF-engine-macos-x64</code></td></tr>
<tr><td>macOS ARM</td><td><code>@ironsoftware/IronPDF-engine-macos-arm64</code></td></tr>
</tbody>
</table>
[[i:(유효한 라이선스 키는 생성된 PDF에서 워터마크를 제거합니다. 첫 `PdfDocument` 호출 전에 `IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" })`를 설정하여 적용하세요. 전체 [라이선스 키 설정 지침](https://ironpdf.com/nodejs/get-started/license-keys/)을 따르세요.)]]
### IronPDF의 시스템 요구 사항은 무엇인가요?
IronPDF for Node.js는 Windows, Linux, macOS 및 Docker 환경에서 Node.js 12.0 이상에서 실행됩니다. 이 라이브러리는 x64 및 ARM64 아키텍처 둘 다 지원하여 로컬 개발 및 컨테이너화된 배포에 적합합니다. 클라우드 환경에서는 로컬에서 엔진을 실행하는 대신 [원격 IronPDF 엔진](https://ironpdf.com/nodejs/get-started/use-ironpdfengine/)에 연결하는 것도 지원합니다.
<hr />
## Node.js에서 HTML로 PDF를 만드는 방법은?
`PdfDocument.fromHtml()`을 사용하여 HTML 문자열에서 PDF를 생성하세요. 이 메서드는 인라인 `<style>` 블록, CDN을 통해 로드된 외부 폰트, CSS Grid나 Flexbox 같은 레이아웃 시스템을 포함한 모든 유효한 HTML을 수용합니다. Chromium 렌더러는 PDF를 생성하기 전에 모든 리소스를 해결합니다.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const htmlContent = `
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
.header { background: #2b4c8c; color: white; padding: 24px 32px; }
.header h1 { margin: 0; font-size: 22px; }
.body { padding: 32px; }
table { width: 100%; border-collapse: collapse; margin-top: 16px; }
th { background: #f0f4fb; text-align: left; padding: 8px 12px; }
td { padding: 8px 12px; border-bottom: 1px solid #e0e0e0; }
</style>
</head>
<body>
<div class="header"><h1>Invoice #INV-2025-0042</h1></div>
<div class="body">
<p>Date: ${new Date().toLocaleDateString()}</p>
<table>
<tr><th>Item</th><th>Qty</th><th>Unit Price</th><th>Total</th></tr>
<tr><td>IronPDF Enterprise License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
<tr><td>Priority Support (1 year)</td><td>1</td><td>$199.00</td><td>$199.00</td></tr>
</table>
<p style="text-align:right; margin-top:16px;"><strong>Total: $698.00</strong></p>
</div>
</body>
</html>`;
// Generate the PDF from the HTML string
const pdf = await PdfDocument.fromHtml(htmlContent);
await pdf.saveAs("invoice.pdf");
```
`PdfDocument.fromHtml()`은 `PdfDocument` 인스턴스를 반환합니다. 파일을 쓰기 위해 원하는 출력 경로와 함께 `saveAs()`을 호출하세요. 이 메서드는 비동기적이므로 `await`을 사용하거나 `.then()` 핸들러를 체인으로 연결하세요. Chromium 엔진은 폰트 로딩, 외부 스타일시트 및 자산 해결을 처리한 후 출력을 캡처합니다. 더 많은 패턴을 보려면 [HTML 문자열에서 PDF 생성 예제](https://ironpdf.com/nodejs/examples/using-html-to-create-a-pdf/)를 참조하세요.
### HTML 파일로부터 PDF 생성 방법은?
`.html` 파일을 `PdfDocument.fromFile()`를 사용하여 디스크에서 불러오세요. 이 접근 방식은 HTML이 애플리케이션 로직과 별개로 유지되는 템플릿 문서에 적합합니다.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
```
렌더러는 HTML 파일 디렉토리의 상대적 자산 경로를 해결하여 로컬 CSS 및 이미지 참조가 추가 구성 없이 작동합니다. 자산 해결을 위한 기본 URL을 재정의하는 방법을 비롯한 추가 옵션은 [HTML 파일에서 PDF 생성 예제](https://ironpdf.com/nodejs/examples/file-to-pdf/)를 참조하세요.
### URL로부터 PDF 생성 방법은?
`PdfDocument.fromUrl()`을 사용하여 라이브 웹 페이지를 PDF로 렌더링하세요. 렌더러는 JavaScript를 실행하고 CSS를 적용하며, 동적 콘텐츠를 캡처하기 전에 대기하면서 페이지를 전체 브라우저 세션으로 로드합니다.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
```
JavaScript로 비동기적으로 콘텐츠를 로드하는 페이지의 경우, 캡처 전에 추가 시간을 허용하기 위해 `renderDelay` 옵션(밀리초 단위)과 함께 사용하세요. [URL에서 PDF 생성 예제](https://ironpdf.com/nodejs/examples/converting-a-url-to-a-pdf/)는 지연 구성 및 인증 헤더를 설명합니다.
<hr />
## PDF 출력 설정을 구성하는 방법은?
`PdfDocument.fromHtml()`, `PdfDocument.fromFile()`, 또는 `PdfDocument.fromUrl()`에 두 번째 인수로 구성 객체를 전달하세요. 구성 객체는 용지 크기, 여백, 방향 및 렌더링 옵션을 허용합니다.
```nodejs
import { PdfDocument, PdfPaperSize } from "@ironsoftware/ironpdf";
const config = {
paperSize: PdfPaperSize.A4,
marginTop: 25,
marginBottom: 25,
marginLeft: 20,
marginRight: 20,
landscape: false,
printBackground: true,
};
const pdf = await PdfDocument.fromHtml("<h1>Configured PDF</h1>", config);
await pdf.saveAs("configured-output.pdf");
```
주요 구성 옵션은 다음과 같습니다:
— `paperSize`: `PdfPaperSize` 열거형 값(A4, Letter, Legal, [사용자 정의 크기](https://ironpdf.com/nodejs/examples/custom-pdf-paper-size/))을 수용
— `landscape`: 가로 [페이지 방향](https://ironpdf.com/nodejs/examples/pdf-page-orientation/)을 위해 `true` 설정
— `printBackground`: CSS 배경 색상 및 이미지를 포함
— `marginTop/Bottom/Left/Right`: 밀리미터 단위의 페이지 여백
— `renderDelay`: JavaScript가 많은 페이지를 위해 캡처 전에 대기할 밀리초
### PDF에 머리글과 바닥글을 추가하는 방법은?
구성 객체에 `htmlHeader`와 `htmlFooter` 속성을 제공하여 헤더와 푸터를 추가하세요. 둘 다 HTML 전체 문자열을 허용하며, 페이지 번호, 날짜 및 동적 텍스트로 스타일이 지정된 콘텐츠를 가능하게 합니다.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const config = {
htmlHeader: {
htmlFragment: "<div style='text-align:center; font-size:12px; color:#666;'>Quarterly Report - Confidential</div>",
dividerLine: true,
},
htmlFooter: {
htmlFragment: "<div style='text-align:right; font-size:10px;'>Page {page} of {total-pages}</div>",
dividerLine: true,
},
};
const pdf = await PdfDocument.fromHtml("<h1>Q3 Financial Summary</h1><p>See attached tables.</p>", config);
await pdf.saveAs("report-with-headers.pdf");
```
푸터 HTML에 `{page}` 및 `{total-pages}` 토큰을 사용하세요. IronPDF는 렌더링 시간에 정확한 값을 대체합니다. [HTML 머리글 및 바닥글](https://ironpdf.com/nodejs/examples/html-headers-and-footers/) 및 [고급 헤더 기술](https://ironpdf.com/nodejs/examples/adding-headers-and-footers-advanced/)을 포함하여 더 많은 머리글 및 바닥글 패턴은 연결된 예제를 참조하세요.
<hr />
## PDF에 보안 및 메타데이터를 추가하는 방법은?
`PdfDocument` 보안 메서드를 사용하여 생성된 PDF에 [암호 보호 및 암호화](https://ironpdf.com/nodejs/examples/security-and-metadata/)를 적용하세요. 이 라이브러리는 소유자와 사용자 암호 모두를 지원하며, 인쇄, 복사, 편집에 대한 세밀한 권한 제어를 제공합니다.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Confidential Document</h1>");
// Apply password protection with granular permissions
await pdf.securePdf({
userPassword: "view-password",
ownerPassword: "admin-password",
allowUserAnnotations: false,
allowUserPrinting: true,
allowUserCopyPasteContent: false,
});
await pdf.saveAs("secured-document.pdf");
```
암호가 적용될 때 기본적으로 AES 256비트 암호화를 사용하는 [암호화 및 해독](https://ironpdf.com/nodejs/examples/encryption-and-decryption/). 문서 인증 워크플로우를 위해 IronPDF는 X.509 인증서를 사용한 [디지털 서명](https://ironpdf.com/nodejs/examples/digitally-sign-a-pdf/)도 지원합니다.
[[t:(장기 보관 준수 문서의 경우 `PdfDocument.fromHtml()` 후 PDF/A 변환 메서드를 사용하세요. IronPDF는 [PDF/A 준수](https://ironpdf.com/nodejs/examples/pdfa/) 및 [PDF/UA 접근성 표준](https://ironpdf.com/nodejs/examples/pdfua/)을 지원합니다.)]]
<hr />
## 기존 PDF를 병합하고 조작하는 방법은?
`PdfDocument`는 기존 PDF 파일을 병합, 분할 및 수정하는 데 필요한 메서드를 제공합니다. `PdfDocument.fromFile()`를 사용하여 기존 PDF를 불러오고, 조작 메서드를 사용하여 페이지를 추가하거나 제거하고, 콘텐츠에 스탬프를 찍거나 텍스트를 교체하세요.
```nodejs
import { PdfDocument } from "@ironsoftware/ironpdf";
// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
await PdfDocument.fromFile("./report-part1.pdf"),
await PdfDocument.fromFile("./report-part2.pdf"),
]);
await merged.saveAs("./complete-report.pdf");
```
`PdfDocument.mergePdf()`은 `PdfDocument` 인스턴스 배열을 수용하며 단일 병합 문서를 반환합니다. 페이지 순서는 배열 순서를 따르므로 출력은 입력 파일의 순서를 보존합니다.
다른 일반적 조작 작업:
— [PDF에서 페이지를 제거하세요](https://ironpdf.com/nodejs/examples/remove-page-from-pdf/) by using `removePages()`
- 기존 문서에 [HTML 콘텐츠 스탬핑](https://ironpdf.com/nodejs/examples/stamping-new-content/)
- 모든 페이지에 걸쳐 [텍스트 찾기 및 교체](https://ironpdf.com/nodejs/examples/replace-text-in-pdf/)
- 색인화 또는 처리 용도로 PDF에서 [텍스트 추출](https://ironpdf.com/nodejs/examples/reading-pdf-text/)
대량 작업의 경우, [멀티스레드 PDF 생성](https://ironpdf.com/nodejs/examples/threading/)을 사용하여 여러 문서를 병렬로 처리할 수 있습니다. [PDF 압축](https://ironpdf.com/nodejs/examples/pdf-compression/)은 저장 및 전송을 위한 파일 크기를 줄입니다.
<hr />
## 차트와 Angular 페이지 같은 복잡한 콘텐츠에 대한 PDF를 생성하는 방법은?
IronPDF는 전체 Chromium 브라우저 세션을 사용하여 페이지를 렌더링하므로 차트, 그래프, 데이터 시각화를 생성하는 JavaScript 라이브러리가 적절하게 렌더링되며, [JavaScript 차트 라이브러리](https://ironpdf.com/nodejs/examples/js-charts-to-pdf/)를 포함합니다. Angular와 같은 프레임워크로 구축된 단일 페이지 애플리케이션도 [Angular에서 PDF](https://ironpdf.com/nodejs/examples/angular-to-pdf/) 예제를 사용하여 깔끔하게 변환됩니다.
유니코드가 많은 문서나 다국어 출력을 위해 IronPDF는 추가적인 구성 없이 [유니코드 및 국제 문자 세트](https://ironpdf.com/nodejs/examples/unicode/)를 처리합니다. [Google Fonts 통합 예제](https://ironpdf.com/nodejs/examples/google-fonts-htmltopdf/)는 출력 PDF의 일관된 타이포그래피를 위해 렌더링된 HTML에서 웹 폰트를 로드하는 방법을 보여줍니다.
[[i:(IronPDF의 Chromium 렌더러는 PDF를 캡처하기 전 JavaScript를 실행합니다. 차트 라이브러리 또는 SPA가 DOM이 로드된 후 데이터 렌더링을 위해 추가 시간이 필요한 경우 페이지가 완전히 렌더링되도록 `renderDelay`을 밀리초 단위로 설정하세요.)]]
<hr />
## Node.js에서 PDF를 생성하기 위한 다음 단계는?
이 가이드는 IronPDF의 핵심 워크플로우를 다루었습니다: 라이브러리 설치, HTML 문자열, 파일, URL에서 PDF 생성, 출력 설정 구성, 머리글 및 바닥글 추가, 보안 적용, 기존 PDF 조작.
계속 진행하려면, 렌더링 옵션에 대한 더 깊이 있는 가이드를 위해 전체 [HTML to PDF 튜토리얼](https://ironpdf.com/nodejs/tutorials/html-to-pdf/)을 시도하거나, 전체 `PdfDocument` 메서드 및 구성 속성 목록을 보려면 [API Reference](https://ironpdf.com/nodejs/object-reference/api/)를 참조하세요.
[무료 체험판 시작](trial-license)을 통해 워터마크 없이 PDF를 생성하거나, 프로덕션 배포를 위해 [라이선스 옵션 보기](licensing).
Node.js에서 프로그래밍 방식으로 PDF 파일을 생성하려면 HTML 렌더링을 정확하게 처리하고, 최신 CSS를 지원하며, Node의 비동기 패턴과 깔끔하게 통합되는 라이브러리가 필요합니다. IronPDF는 Chromium 기반 렌더링 엔진을 사용하여 HTML 콘텐츠를 Chrome의 인쇄 출력과 일치하는 PDF로 변환하며, 전체 CSS, 인라인 JavaScript 및 반응형 레이아웃을 기본적으로 지원합니다.
이 가이드는 설치, HTML 문자열, HTML 파일, URL에서 PDF 생성, 출력 옵션 구성, 헤더, 푸터, 디지털 서명, 암호화와 같은 Enterprise 기능을 적용하는 전체 워크플로우를 다룹니다.
빠른 시작: Node.js에서 PDF 만들기
npm을 통해 IronPDF 설치: npm install @ironsoftware/ironpdf
PdfDocument을 @ironsoftware/ironpdf에서 가져오기
HTML 콘텐츠로 PdfDocument.fromHtml() 호출하기
PDF 파일을 디스크에 쓰기 위해 .saveAs() 호출하기
import { PdfDocument } from "@ironsoftware/ironpdf";const pdf = awaitPdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");await pdf.saveAs("output.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
JavaScript
배포하기 전에 플랫폼에 맞춰 IronPdfEngine을 설정하세요. Windows, Linux, macOS 및 Docker에 대한 사용 지침은 IronPdfEngine 설정 가이드를 참조하세요.
최소 워크플로우(5단계)
IronPDF 설치: npm install @ironsoftware/ironpdf
@ironsoftware/ironpdf에서 PdfDocument를 가져오기
PdfDocument.fromHtml(), PdfDocument.fromFile(), PdfDocument.fromUrl()을 사용하여 PDF 생성
용지 크기, 여백, 헤더, 푸터와 같은 옵션 설정
pdf.saveAs("output.pdf")로 출력 저장
Node.js 용 IronPDF 어떻게 설치하나요?
npm을 사용하여 @ironsoftware/ironpdf 패키지를 설치하세요. 이 패키지는 Node.js 12.0 이상과 ESM 및 CommonJS 모듈 형식을 지원합니다.
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를 생성하기 전에 모든 리소스를 해결합니다.
PdfDocument.fromHtml()은 PdfDocument 인스턴스를 반환합니다. 파일을 쓰기 위해 원하는 출력 경로와 함께 saveAs()을 호출하세요. 이 메서드는 비동기적이므로 await을 사용하거나 .then() 핸들러를 체인으로 연결하세요. Chromium 엔진은 폰트 로딩, 외부 스타일시트 및 자산 해결을 처리한 후 출력을 캡처합니다. 더 많은 패턴을 보려면 HTML 문자열에서 PDF 생성 예제를 참조하세요.
HTML 파일로부터 PDF 생성 방법은?
.html 파일을 PdfDocument.fromFile()를 사용하여 디스크에서 불러오세요. 이 접근 방식은 HTML이 애플리케이션 로직과 별개로 유지되는 템플릿 문서에 적합합니다.
import { PdfDocument } from "@ironsoftware/ironpdf";// Load an HTML file and render it as a PDFconst pdf = awaitPdfDocument.fromFile("./templates/report-template.html");await pdf.saveAs("./output/report.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
JavaScript
렌더러는 HTML 파일 디렉토리의 상대적 자산 경로를 해결하여 로컬 CSS 및 이미지 참조가 추가 구성 없이 작동합니다. 자산 해결을 위한 기본 URL을 재정의하는 방법을 비롯한 추가 옵션은 HTML 파일에서 PDF 생성 예제를 참조하세요.
URL로부터 PDF 생성 방법은?
PdfDocument.fromUrl()을 사용하여 라이브 웹 페이지를 PDF로 렌더링하세요. 렌더러는 JavaScript를 실행하고 CSS를 적용하며, 동적 콘텐츠를 캡처하기 전에 대기하면서 페이지를 전체 브라우저 세션으로 로드합니다.
import { PdfDocument } from "@ironsoftware/ironpdf";// Render a live webpage to PDFconst pdf = awaitPdfDocument.fromUrl("https://ironpdf.com/nodejs/");await pdf.saveAs("ironpdf-homepage.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
JavaScript
JavaScript로 비동기적으로 콘텐츠를 로드하는 페이지의 경우, 캡처 전에 추가 시간을 허용하기 위해 renderDelay 옵션(밀리초 단위)과 함께 사용하세요. URL에서 PDF 생성 예제는 지연 구성 및 인증 헤더를 설명합니다.
PDF 출력 설정을 구성하는 방법은?
PdfDocument.fromHtml(), PdfDocument.fromFile(), 또는 PdfDocument.fromUrl()에 두 번째 인수로 구성 객체를 전달하세요. 구성 객체는 용지 크기, 여백, 방향 및 렌더링 옵션을 허용합니다.
— paperSize: PdfPaperSize 열거형 값(A4, Letter, Legal, 사용자 정의 크기)을 수용
— landscape: 가로 페이지 방향을 위해 true 설정
— printBackground: CSS 배경 색상 및 이미지를 포함
— marginTop/Bottom/Left/Right: 밀리미터 단위의 페이지 여백
— renderDelay: JavaScript가 많은 페이지를 위해 캡처 전에 대기할 밀리초
PDF에 머리글과 바닥글을 추가하는 방법은?
구성 객체에 htmlHeader와 htmlFooter 속성을 제공하여 헤더와 푸터를 추가하세요. 둘 다 HTML 전체 문자열을 허용하며, 페이지 번호, 날짜 및 동적 텍스트로 스타일이 지정된 콘텐츠를 가능하게 합니다.
암호가 적용될 때 기본적으로 AES 256비트 암호화를 사용하는 암호화 및 해독. 문서 인증 워크플로우를 위해 IronPDF는 X.509 인증서를 사용한 디지털 서명도 지원합니다.
팁: 장기 보관 준수 문서의 경우 PdfDocument.fromHtml() 후 PDF/A 변환 메서드를 사용하세요. IronPDF는 PDF/A 준수 및 PDF/UA 접근성 표준을 지원합니다.
기존 PDF를 병합하고 조작하는 방법은?
PdfDocument는 기존 PDF 파일을 병합, 분할 및 수정하는 데 필요한 메서드를 제공합니다. PdfDocument.fromFile()를 사용하여 기존 PDF를 불러오고, 조작 메서드를 사용하여 페이지를 추가하거나 제거하고, 콘텐츠에 스탬프를 찍거나 텍스트를 교체하세요.
import { PdfDocument } from "@ironsoftware/ironpdf";// Merge two PDF files into oneconst merged = awaitPdfDocument.mergePdf([ awaitPdfDocument.fromFile("./report-part1.pdf"), awaitPdfDocument.fromFile("./report-part2.pdf"),]);await merged.saveAs("./complete-report.pdf");
import { PdfDocument } from "@ironsoftware/ironpdf";
// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
await PdfDocument.fromFile("./report-part1.pdf"),
await PdfDocument.fromFile("./report-part2.pdf"),
]);
await merged.saveAs("./complete-report.pdf");
JavaScript
PdfDocument.mergePdf()은 PdfDocument 인스턴스 배열을 수용하며 단일 병합 문서를 반환합니다. 페이지 순서는 배열 순서를 따르므로 출력은 입력 파일의 순서를 보존합니다.
대량 작업의 경우, 멀티스레드 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를 참조하세요.
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 옵션을 설정하세요.
Is it possible to apply digital signatures to PDFs with IronPDF?
Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.
How does IronPDF handle complex content like charts in PDFs?
IronPDF uses a full Chromium browser session to render pages, which means JavaScript chart libraries and frameworks like Angular are fully supported. This allows charts, graphs, and other complex visualizations to render correctly in the output PDFs.
What are the system requirements for using IronPDF on Node.js?
IronPDF requires Node.js 12.0 or higher and runs on Windows, Linux, macOS, and Docker environments. It supports both x64 and ARM64 architectures, making it suitable for various deployment scenarios including local development and cloud environments.
커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.