1

MVC .NET プロジェクトで Proxima Nova フォント (具体的には、Proxima Nova Condensed レギュラー) を使用していますが、PDF 出力に正しく埋め込まれません。PDF のプロパティを見ると、"ProximaNovaCond-Regular (Embedded)" がリストされており、その横のアイコンは灰色の "F" が付いたページのように見えます。また、Arial Narrow と Arial Narrow, Bold が "(Embedded Subset)" とリストされているのが見えますが、ドキュメントはこれらにデフォルト設定されているようです。

私は CSS で @font-face を使用していませんが、次のようにしています。

font-family: "Proxima Nova Cn Rg", "Proxima Nova Cond", "Proxima Nova Condensed";

ページを生成するコントローラー関数には、次のコードがあります。

var targetDocument = CreateNewDoc(orientation, paperSize);
targetDocument.HtmlOptions.FontEmbed = true;
targetDocument.HtmlOptions.FontSubset = false;
targetDocument.HtmlOptions.FontSubstitute = false;
targetDocument.HtmlOptions.FontProtection = false;
targetDocument.Font = targetDocument.EmbedFont(Server.MapPath("\\Content\\fonts\\proxima-nova\\ProximaNova-Reg-webfont.ttf"));
targetDocument.Font = targetDocument.EmbedFont(Server.MapPath("\\Content\\fonts\\proxima-nova\\ProximaNova-Sbold-webfont.ttf"));

プロジェクトがローカルで実行されている場合、フォントは機能しているように見えますが、サーバー上では機能していません。フォントはサーバーにインストールされます。フォントや埋め込み方法に欠けているものはありますか? ここでフォントの埋め込みに関する他のいくつかの質問を見ましたが、いずれも私たちの状況に対する解決策を提供しませんでした. ここで他にどのような情報を提供すればよいかわかりませんが、質問に答えるために何が必要か教えてください。見つけます。

編集: 私はこれを更新したと誓ったかもしれません...レスポンダーへの謝罪。残念ながら、問題を解決できなかったため、正しい回答を受け入れることはできません。

4

2 に答える 2

0

名前だけを使用してフォントを埋め込むか、ファイルから動的にロードすることができます。あなたは後者をやろうとしているように見えますが、それはうまくいきません。私がすること:

  • Server.MapPath() の後のパスを確認し、ファイルが実際にそこにあり、アプリからアクセスできることを確認します。
  • サーバーにフォントがインストールされていると言うように、フォントの完全な名前を使用してみてください。最初にそれらが実際に適切にインストールされていること、および正しい名前を使用していることを確認してください。
于 2016-06-02T23:09:10.933 に答える