# PDF 내보내기

## Content

SpreadJS는 [Workbook 클래스](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook)의 [savePDF](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook#savePDF) 메서드를 통해 PDF 파일 내보내기, 즉 .xlsx 확장자를 가진 워크북(Excel 파일)을 .pdf 확장자를 가진 PDF 형식으로 내보내기를 지원합니다.
다음 표는 [savePDF](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook#savePDF) 메서드의 매개변수를 설명합니다:

| 매개변수 | 설명 |
| ---- | --- |
| successCallback | PDF 내보내기 작업이 성공한 후 이 함수를 호출합니다. |
| errorCallback | 오류가 발생했을 때 이 함수를 호출합니다. |
| options | PDF 파일로 내보낼 때 다음과 같은 옵션들을 지정할 수 있습니다:<ol><li>`options.creator` \- 원본 문서를 작성한 응용 프로그램\(예: Adobe Framemaker\)의 이름을 지정할 수 있습니다\.</li><li>`options.title` \- 문서의 제목을 지정할 수 있습니다\.</li><li>`options.author` \- 문서를 작성한 사람의 이름을 지정할 수 있습니다\.</li><li>`options.keywords` \- 문서와 관련된 키워드를 지정할 수 있습니다\.</li><li>`options.subject` \- 문서의 주제를 지정할 수 있습니다\.</li></ol> |
| sheetIndex | 워크북에서 특정 시트를 PDF로 내보내려면 내보낼 시트의 인덱스를 지정할 수 있습니다. 이 인수가 지정되지 않으면 기본적으로 모든 표시된 시트가 내보내집니다. |

PDF로 내보내기 작업은 페이지 설정을 위해 `printInfo` 객체를 사용하며, SpreadJS에서 제공하는 모든 인쇄 기능을 지원합니다.
PDF 파일을 사용자 정의 형식으로 내보내는 방법에 대한 자세한 내용은 [사용자 지정 PDF 내보내기](/spreadjs/docs/v19/excelimpexp/ExportingToPDF/CustomPDFExport)를 참조하세요.
PDF 파일로 내보낼 때, 문서에 포함할 글꼴을 지정할 수 있으며, 표준 글꼴(아래 표 참조)과 사용자 정의 글꼴(새 글꼴 등록을 통해)을 포함할 수 있습니다.
PDF 내보내기 작업 중 사용자 정의 글꼴을 포함하는 방법에 대한 자세한 내용은 [PDF 내보내기를 위한 사용자 정의 글꼴 사용](/spreadjs/docs/v19/excelimpexp/ExportingToPDF/UseCustomFontforPDFExport)을 참조하세요.
다음 표는 PDF 문서에서 지원되는 14개의 표준 글꼴을 나열한 것입니다:

| 글꼴 |  |
| --- | --- |
| Courier | Courier<br>Courier-Bold<br>Courier-Oblique<br>Courier-BoldOblique |
| Times | Times-Roman<br>Times-Bold<br>Times-Italic<br>Times-BoldItalic |
| Helvetica | Helvetica<br>Helvetica-Bold<br>Helvetica-Oblique<br>Helvetica-BoldOblique |
| Symbol | Symbol |
| ZapfDingbats | ZapfDingbats |

## 코드 사용법

다음 예제는 Excel 파일을 PDF 파일로 내보내기 위해 [savePDF](/spreadjs/api/v19/classes/GC.Spread.Sheets.Workbook#savePDF) 메서드를 사용하는 방법을 보여줍니다. 내보낸 파일은 .pdf 확장자로 저장됩니다.
첫 번째 코드 섹션은 PDF 내보내기 작업을 실행하기 위한 의존성을 나열합니다.

```HTML
<script src='.../spreadjs/gc.spread.sheets.all.x.xx.xxxxx.x.min.js' type='text/javascript'></script>
<script src='.../spreadjs/plugins/gc.spread.sheets.print.x.xx.xxxxx.x.min.js' type='text/javascript'></script>
<script src='.../spreadjs/plugins/gc.spread.sheets.pdf.x.xx.xxxxx.x.min.js' type='text/javascript'></script>
```

두 번째 코드 섹션은 PDF 형식으로 내보내기 위해 `savePDF` 메서드를 사용하는 방법을 보여줍니다.

```JavaScript
spread.savePDF(function (blob) {
    var fileName = $('#fileName').val() || 'download';
    saveAs(blob, fileName + '.pdf');
}, function (error) {
    console.log(error);
}, {
    title: 'Test Title',
    author: 'Test Author',
    subject: 'Test Subject',
    keywords: 'Test Keywords',
    creator: 'test Creator'
});
```

> **참고:** PDF로 내보낼 때는 다음 사항을 유념해야 합니다.
>
> * PDF 형식으로 내보내려면 다음 두 모듈을 참조해야 합니다.
>
>   * gc.spread.sheets.print.x.x.x.min.js
>   * gc.spread.sheets.pdf.x.x.x.min.js
>
>   Print 플러그인이 먼저 로드되어야 합니다.
> * 이미지의 소스가 URL 또는 지정된 경로에서 가져온 경우 자동으로 base64 형식으로 인코딩되지 않습니다. 따라서 파일 프로토콜 스킴을 사용하는 경우 이미지를 내보낼 수 없습니다.
