# PDF 모듈 

## Content

**PdfDocument**는 **wijmo.pdf** 모듈에서 PDF 문서를 생성하는 데 사용되는 주요 클래스입니다. 이 구현은 **PDFKit**이라는 JavaScript PDF 생성 라이브러리의 확장입니다.

주요 차이점은 다음과 같습니다:

* 페이지는 세 가지 섹션으로 나뉩니다: 헤더, 본문, 푸터. 각 섹션은 텍스트와 그래픽을 그릴 수 있는 고유의 메서드를 가진 영역을 나타냅니다.
* 헤더와 푸터 영역의 텍스트는 선언적으로 정의할 수 있으며, 자동 페이지 번호 매기기를 위한 매크로를 지원합니다.
* **fillColor, lineWidth**와 같은 그래픽 상태 관리 메서드는 .NET 개발자에게 더 친숙한 방식으로 동작하는 펜과 브러시 엔터티 내에 캡슐화됩니다. 텍스트, 벡터 그래픽 및 이미지를 그릴 수 있는 API를 제공합니다.

## **PdfDocument 사용 방법**

다음은 **PdfDocument**를 사용할 때의 일반적인 절차입니다:

1. **PdfDocument** 클래스 인스턴스를 생성하고, 렌더링이 완료된 후 Blob 객체가 이벤트 핸들러로 전달될 수 있도록 종료 이벤트 핸들러를 선언합니다. 이 Blob 객체는 문서 데이터가 포함되어 있으며, 완료되면 파일로 저장할 수 있습니다.

다음은 단일 페이지 빈 문서를 생성하는 데 필요한 최소한의 코드입니다:

```javascript
import * as wjPdf from '@mescius/wijmo.pdf';

var doc = new wjPdf.PdfDocument({
    ended: function (sender, args) {
        wijmo.pdf.saveBlob(args.blob, "Document.pdf");
    }
});
```

2. 문서를 인스턴스 멤버를 사용하여 그립니다.

```javascript
doc.drawText("Lorem.");
doc.drawText("Ipsum.", 0, 30);

doc.drawImage("resources/wijmo1.png");
```

3. 마지막으로, end 메서드를 호출하여 렌더링을 완료하고 ended 이벤트를 발생시킵니다.

```javascript
doc.end();
```