[]
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메서드는 options? 객체를 받으며, 이 객체를 통해 font 속성에 PdfFont 인스턴스를 전달할 수 있습니다.
doc.drawText("Lorem", null, null, {
font: new wjPdf.PdfFont("times", 10, "normal", "bold")
});
기본 문서 글꼴을 변경하려면 setFont 메서드를 사용할 수도 있습니다. 이 변경은 drawText 메서드를 사용하여 텍스트를 그리기 전에 수행해야 합니다. 이 방법은 동일한 글꼴로 많은 텍스트를 그려야 할 때 유용합니다.
doc.setFont(new wjPdf.PdfFont("times", 10, "normal", "bold"));
doc.drawText("Lorem");
주어진 스타일과 굵기 속성을 가진 정확한 글꼴을 찾을 수 없는 경우, 가장 가까운 등록된 글꼴이 사용됩니다.
이 샘플은 drawText 와 setFont 메서드를 사용하여 서로 다른 글꼴을 사용해 텍스트를 그리는 방법을 보여줍니다.
표준 글꼴을 사용하는 것 외에도, 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")
});