[]
        
(Showing Draft Content)

PDF 폰트

표준 글꼴

PdfDocument 는 기본적으로 다음과 같은 글꼴을 지원합니다:

  • Courier

  • Helvetica

  • Times

  • Symbol

  • ZapfDingbats


첫 세 가지 글꼴은 각각 "normal", "bold", "oblique", "bold oblique" 네 가지 스타일을 가집니다. 이로 인해 "14 Standard PDF fonts"라는 글꼴 세트를 제공합니다.


글꼴 설정

PdfFont 클래스는 특정 글꼴을 설명하며, 그 생성자는 다음과 같은 인수를 받습니다:

  • 폰트 패밀리: 폰트 패밀리 이름 또는 쉼표로 구분된 우선 순위가 지정된 폰트 패밀리 목록. 여기에는 "monospace", "serif"와 같은 일반적인 폰트패밀리 이름도 포함됩니다. PdfDocument 는 가장 가까운 등록된 글꼴을 사용합니다.

    예시: "times", "Roboto, serif". 표준 글꼴은 다음과 같은 값으로 표현됩니다: "courier", "helvetica", "times", "symbol", "zapfdingbats".

  • 글꼴 크기

  • 글꼴 스타일: 다음 값 중 하나: "normal", "italic", "oblique".

  • 글꼴 굵기: 다음 값 중 하나: "normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900"..


다음 인스턴스는 PdfDocument에서 기본 문서 글꼴을 나타냅니다:

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

new wjPdf.PdfFont("times", 10, "normal", "normal");

PdfDocument에서 글꼴을 사용하는 방법은 두 가지가 있습니다:


drawText 메서드 사용

drawText메서드는 options? 객체를 받으며, 이 객체를 통해 font 속성에 PdfFont 인스턴스를 전달할 수 있습니다.

doc.drawText("Lorem", null, null, {
    font: new wjPdf.PdfFont("times", 10, "normal", "bold")
});

setFont 메서드 사용

기본 문서 글꼴을 변경하려면 setFont 메서드를 사용할 수도 있습니다. 이 변경은 drawText 메서드를 사용하여 텍스트를 그리기 전에 수행해야 합니다. 이 방법은 동일한 글꼴로 많은 텍스트를 그려야 할 때 유용합니다.

doc.setFont(new wjPdf.PdfFont("times", 10, "normal", "bold"));
doc.drawText("Lorem");

주어진 스타일과 굵기 속성을 가진 정확한 글꼴을 찾을 수 없는 경우, 가장 가까운 등록된 글꼴이 사용됩니다.


이 샘플은 drawTextsetFont 메서드를 사용하여 서로 다른 글꼴을 사용해 텍스트를 그리는 방법을 보여줍니다.

사용자 정의 글꼴 임베딩

표준 글꼴을 사용하는 것 외에도, PdfDocument는 문서에 사용자 정의 글꼴을 임베딩할 수 있는 기능을 제공합니다. 지원되는 글꼴 형식은 다음과 같습니다:

  • .ttf

  • .ttc

  • .dfont

먼저, 사용자 정의 글꼴은 registerFont 또는 registerFontAsync 메서드를 사용하여 등록해야 합니다. 이 메서드는 URL에서 글꼴을 로드하고, 해당 글꼴을 지정된 폰트 패밀리 이름 및 글꼴 속성(스타일, 굵기, serif 또는 sans serif 글꼴 여부 등)과 연결합니다. 이후, 이 폰트 패밀리 이름을 PdfFont 클래스와 함께 다른 표준 글꼴처럼 사용할 수 있습니다.


아래 예제에서는 Fira 폰트 패밀리를 사용하며, FiraSans-Regular.ttf 와 FiraSans-Bold.ttf 두 개의 글꼴을 문서에 임베딩하는 방법을 보여줍니다.


예제:

doc.registerFont({
    source: "resources/fonts/fira/FiraSans-Regular.ttf",
    name: "fira",
    style: "normal",
    weight: "normal",
    sansSerif: true
});

doc.drawText("Here is the FiraSans-Regular font.", null, null, {
    // an equivalent of font: new wjPdf.PdfFont("fira", 10, "normal", "normal")
    font: new wjPdf.PdfFont("fira")
});