[]
そのまま使用できるPdfDocumentは、次のフォントをサポートします。
Courier
Helvetica
Times
Symbol
ZapfDingbats
最初の3つのフォントには、それぞれ"normal"、"bold"、"oblique"、"bold oblique"の4つの書体があります。これが「14のPDF標準フォント」と呼ばれるフォントセットです。
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のフォントを使用すると、フォントは次の2つの方法で指定できます。
drawTextメソッドはoptionsオブジェクトを受け取り、PdfFontインスタンスはfontプロパティからこのオブジェクトを渡すことができます。
doc.drawText("Wijmo", null, null, {
font: new wjPdf.PdfFont("times", 10, "normal", "bold")
});
setFontメソッドを使用してデフォルトのドキュメントを変更することもできます。これは、drawTextメソッドを使用してドキュメントにテキストを描画する前に実行する必要があります。同じフォントを使用して大量のテキストを描画する場合は、この方法が便利です。
doc.setFont(new wjPdf.PdfFont("times", 10, "normal", "bold"));
doc.drawText("Wijmo");
指定されたstyleプロパティとweightプロパティに正確に一致するフォントが見つからない場合は、最も近い登録済みフォントが使用されます。
このサンプルでは、drawTextメソッドとsetFontメソッドを使用して、さまざまなフォントでテキストを描画する方法を示します。
PdfDocumentは、標準フォントのほかに独自フォントをドキュメントに埋め込むことができます。以下のフォント形式がサポートされています。
.ttf
.ttc
.dfont
まず、registerFontメソッドまたはregisterFontAsyncメソッドを使用して、独自フォントを登録する必要があります。このメソッドは、URLからフォントをロードし、それを指定されたフォントファミリ名とフォント属性(スタイル、太さ、serifフォントかsans serifフォントかなど)に関連付けます。その後、他の標準フォントと同様に、そのフォントファミリ名をPdfFontクラスと連携して使用できます。
以下の例では、IPAゴシックフォントファミリを使用し、ipaexg.ttfフォントをドキュメントに埋め込みます。
例:
doc.registerFont({
source: "resources/fonts/ipaexg.ttf",
name: "ipaexg",
style: "normal",
weight: "normal",
sansSerif: true
});
doc.drawText("これはIPAゴシックフォントです。", null, null, {
// 等価のフォント:new wijmo.pdf.PdfFont("ipaexg", 10, "normal", "normal")
font: new wjPdf.PdfFont("ipaexg")
});