カスタムUI
@pdfme/ui
はオプションを通じてテーマとラベルのカスタマイズが可能です。
このページではこれらの要素をカスタマイズする方法を説明します。
サンプルコードはデザイナーを使用していますが、フォームとビューワーも同じ方法でカスタマイズできます。
UIテーマ
pdfmeは内部的にAnt Designを使用しています。 Ant Designのテーマをpdfme UIに適用することができます。
テーマのカスタマイズ方法についてはAnt Designのドキュメントを参照してください。
APIリファレンスはこちらをご覧ください。
new Designer({
domContainer,
template,
options: {
theme: {
token: {
colorPrimary: 'red',
},
},
},
});
UI言語とラベル
ラベルカスタマイズ機能はまだ実装されていません。 Custom Label for UI #107
言語を変更するには、options
のlang
を変更します。(lang
のデフォルトはen
です。)
現在、'en', 'ja', 'ar', 'th', 'pl', 'it'
のみがサポートされています。
追加の言語をサポートするには、issueを作成するかプルリクエストを送信してください。
提供されているラベルの代わりにカスタムラベルを使用するには、options
のlabels
を変更します。
サポートされているラベルについては、この i18n.tsを参照してください。
pdfmeはまずoptions
からlang
を読み込み、次にoptions
のlabels
から読み込んで上書きします。
new Designer({
domContainer,
template,
options: {
lang: 'ja',
labels: {
fieldsList: '入力項目一覧ビュー', // 編集ボタンのラベルを上書き
youCanCreateYourOwnLabel: '独自のラベルを作成できます', // カスタムプラグイン用の新しいラベルを追加
},
},
});
独自のラベルを作成し、プラグインからi18n関数を使用してラベルを取得します。Playgroundコードの署名プラグインの実装を参照してください。
UI最大ズームレベル
デフォルトでは、pdfmeは元のPDFサイズの最大200%までズームできます。
これを増やしたい場合は、新しい制限にしたいパーセンテージをmaxZoom
オプションとしてデザイナー、フォーム、またはビューワーに渡すことができます。
この値は100より大きく、25の倍数である必要があります。
new Designer({
domContainer,
template,
options: {
maxZoom: 400,
},
});