PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > 概念 > エクスポート > PDFフォントファクトリ |
通常、Medium信頼レベル環境でPDFエクスポートフィルタを使用する場合、セキュリティ制限によりActiveReportsはシステムフォントフォルダにアクセスできません。このため、PDFファイルにフォントを埋め込むことができず、ある特定のフォントにしか存在しない特殊なグリフや非ASCII文字をレポートで使用している場合には、配布先の環境でPDFファイルを閲覧した際に正しく表示されません。
PDFフォントファクトリは、ActiveReportsからフォントが格納されている任意のフォルダへの参照方法を設定することで、Medium信頼レベル環境でもPDFへ任意のフォントを埋め込むことを可能にする機能です。Medium信頼レベル環境においてPDFファイルにフォントを埋め込むには、web.configファイルにフォントファクトリを設定する必要があります。
メモ: 使用するフォントファイル(.ttc、.ttf)は、アクセス可能な任意のフォルダに手動でコピーする必要があります。 |
以下のサンプルコードを、web.configファイルの<configSections>タグ内に貼り付けます。
XMLコード(web.configファイルのconfigSectionsタグ内に貼り付けます) |
コードのコピー
|
---|---|
<sectionGroup name="ActiveReports.PdfExport"> <section name="FontFactory" type="GrapeCity.ActiveReports.Web.FontFactorySectionHandler, GrapeCity.ActiveReports.Web.v9, Version=9.X.XXXX.1, Culture=neutral, PublicKeyToken=cc4967777c49a3ff" requirePermission="false" /> </sectionGroup> |
フォントファクトリで参照するフォントが格納されているフォルダや、フォントを設定します。以下のサンプルコードを、web.configファイルの<configSections>タグと<appSettings>タグの間に貼り付けます。
メモ: 使用するフォントに合わせて適宜設定を変更してください。以下のサンプルコードの場合は、「Fonts」フォルダを作成し、必要なフォントファイル(arial.ttf、tahoma.ttf、msgothic.ttc、simsun.ttc、gulim.ttc、mingliu.ttc、micross.ttf)をコピーしてください。 |
XMLコード(web.configファイルの<configSections>タグと<appSettings>タグの間に貼り付けます。 |
コードのコピー
|
---|---|
<ActiveReports.PdfExport> <FontFactory Mode="File"> <AddFolder VirtualPath="~/Fonts" Recurse="true"/> <Substitute Font="Helv" To="Helvetica"/> <SetFallbackFont Font="Arial"/> <!-- font link nodes --> <AddFontLink Font="Arial" List="SimSun,gulim,PMingLiU"/> <AddFontLink Font="Tahoma" List="MS UI Gothic,SimSun,gulim,PMingLiU"/> <AddFontLink Font="MS UI Gothic" List="SimSun,gulim,PMingLiU,Microsoft Sans Serif" IsDefault="true"/> </FontFactory> </ActiveReports.PdfExport> |
メモ: Azureワーカーロールプロジェクトの場合は、上記のコードのような仮想パスではなく、次のように絶対パスを使用します。<AddFolder Path="~/Fonts" Recurse="true"/> |
FontFactory
説明: メインのFontFactoryノードです。
要素 | 説明 |
---|---|
Mode |
Mode属性をFileに設定すると、ファイルベースのファクトリーが使用されます。(File以外は使用できません。)すなわち、Windows GDIファクトリーの属性が削除されます。この属性を指定しない場合、通常のWindowsのシステムフォントフォルダに格納されているフォントを参照します。(Medium信頼レベル環境では、ActiveReportsは通常のWindowsのシステムフォントフォルダを参照できません。) |
なし。
要素 | 説明 |
---|---|
ActiveReports.PdfExport |
PdfExport名前空間(PDFエクスポート、ドキュメントオプション、セキュリティクラス)を含むアセンブリ。 |
<FontFactory Mode="File">
AddFolder
説明: 指定したフォルダ内にあるすべてのTrueTypeフォント(.ttc、.ttf)を使用します。
要素 | 説明 |
---|---|
Path |
フォルダの絶対パスを指定します。 |
VirtualPath | フォルダの仮想パスを指定します。 |
Recurse | Trueに設定すると、サブフォルダ以下を読み込みます。Falseに設定すると、サブフォルダ以下は読み込まれません。 |
なし。
要素 | 説明 |
---|---|
FontFactory |
メインのFontFactoryノードです。 |
<AddFolder VirtualPath="~/Fonts" Recurse="true"/>
Substitute(*1)
説明: フォントに任意の別名を設定し、フォントファイルへマッピングします。
要素 | 説明 |
---|---|
Font |
任意のフォントの名(例: "Helv")を指定します。 |
To | フォントの正式名(例: "Helvetica")を指定します。 |
なし。
要素 | 説明 |
---|---|
FontFactory |
メインのFontFactoryノードです。 |
<Substitute Font="Helv" To="Helvetica"/>
SetFallbackFont(*1)(Professionalのみ)
説明: 次のいずれかの場合に使用するフォントを設定します。
要素 | 説明 |
---|---|
Font |
グリフが見つからない場合に使用するフォント名を指定します。 |
なし。
要素 | 説明 |
---|---|
FontFactory |
メインのFontFactoryノードです。 |
<SetFallbackFont Font="Arial"/>
AddFontLink(*1)(Professionalのみ)
説明: Professionalエディションでは、CJKグリフが追加でサポートされています。指定したフォントに出力対象の字体(グリフ)が見つからない場合に使用するフォントを指定します。
要素 | 説明 | ||
---|---|---|---|
Font |
レポートで使用されているフォントを指定します。 |
||
List |
グリフが見つからない場合に使用するフォントのリストをカンマ区切りで指定します。
|
||
IsDefault | Trueに設定すると、固有のフォントリンクを持たないすべてのフォントに対して、指定したリストが使用されます。 |
なし。
要素 | 説明 |
---|---|
FontFactory |
メインのFontFactoryノードです。 |
<AddFontLink Font="Tahoma" List="MS UI Gothic,SimSun,gulim,PMingLiU"/>
メモ: *1: フォントの検索順は以下の通りです。
SetFallbackFontおよびAddFontLinkについては、「PDFマルチランゲージ」における「システムフォントリンク」および「FontFallbackプロパティ」と同様の機能となります。詳細については、「PDFマルチランゲージ」を参照してください。 |