私はASPのWeb APIプロジェクトにItextsharp iは、PDF文書 を作成するためにItextSharpを使用Methodeのこのドキュメントでは、フランス語、アラビア語のテキスト が含まれている私は、アラビア語のフォントを取得するには、このコードを使用していアラビアフォント
が含まれているソリューションを持っているの生成:
私はPDFを生成するメソッドを呼び出したときにIIS 7のWeb APIプロジェクトを展開した後 (フランス語、アラビア語テキストを含む)私が正しくPDF文書を生成することができるアプリケーションを実行public static BaseFont GetArabicFont()
{
var appDomain = System.AppDomain.CurrentDomain;
var basePath = appDomain.BaseDirectory;
var fontPath = Path.Combine(basePath, "fonts", "pdf", "ARIALUNI.TTF");
try
{
BaseFont bf = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
return bf;
}
catch (Exception ex)
{
return BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
}
}
が、応答がない いつ 「メッセージ」:私は、私はこのメッセージが表示APIを直接呼び出すためにPostmaneを使用「エラーが発生しました」、 「ExceptionMessage」:アイデンティティ-Hをサポートするエンコーディング名ではありませんが、」
私はかどうかを知りません問題がIISにあるか、IDENTITY_Hフォントを変更する必要がありますか? 誰かが助けることができますか?あなたがBaseFont.IDENTITY_H
を使用する場合はiTextは常に意志は、フォントを埋め込む、
BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
:
確認後、私が追加したときにArialUni.ttfがサーバーに存在しないということは、PDFがcorerctellyで生成されたということです – James