@peyton.xu
ありがとうございます。
MS Pゴシックで作成されたExcelファイルを読み込んで、Linuxサーバー上でIPA ゴシックで出力する場合はどのようになりますか?
サンプルコードがあればいただけますか?
@peyton.xu
ありがとうございます。
MS Pゴシックで作成されたExcelファイルを読み込んで、Linuxサーバー上でIPA ゴシックで出力する場合はどのようになりますか?
サンプルコードがあればいただけますか?
コード行は次のようになります。
FontConfigs.SetFontSubstitutes("MS PGothic", new string[] { "IPA Gothic" });
(注: 正しいフォント名を確認して使用してください)
さらに、プログラムの先頭にも次のコード行があることを確認してください。
FontConfigs.SetFontFolder("/usr/share/fonts", true);
FontConfigs.SetFontFolder("/usr/local/share/fonts", true);
(注意: 環境に応じてフォルダーのパスを変更してください)
@amjad.sahi
ありがとうございます。
しかし、異なるフォントで出力されてしまいます。Windows上でテストをしても同様に指定したフォントで出力することができませんでした。
似ているフォントが存在している場合は、上記で指定してたとしても置換されないのですか?
以下を圧縮して添付してください。
これらのアーティファクトを受け取ったら、作業を開始します。
コードスニペットをありがとう。
また、問題を弊社側で正確に評価するために、入力 Excel ファイルと出力 PDF ファイルも必要です。 したがって、必要に応じてリソース ファイルを圧縮して添付してください。 すぐに問題を確認させていただきます。
@kenable811
フォント置換のメカニズムは、既存のフォントは文字を表示できないか、既存のフォントは置換されたフォントを使用するためにインストールされていません。
あなたのテストコードについては、フォントファイル「ipag.ttf」のフォント名は「IPAPGothic」ではなく「IPAGothic」です。
フォントがインストールされているためフォント置換ができない場合は、スタイルを設定することでフォント置換の問題を解決できます。サンプルコードは次のとおりです。
// <- 3 セルにアクセス >
Aspose.Cells.Cell cell1 = sht.Cells["B2"];
// ③セルへの書込
cell1.PutValue("テスト");
Style b2Style = cell1.GetStyle();
b2Style.Font.Name = "IPAGothic";
cell1.SetStyle(b2Style);
以下の文書を参照してフォントを設定することもできます。
@John.He
調査いただき、ありがとうございます。
「ipag.ttf」のフォント名を「IPAGothic」に正しく修正をしても解決できませんでした。
スタイルを設定する方法の場合、シート内の全てのセルに対して処理を行う必要があり、
処理に負荷がかかる懸念があります。
その為、フォルダー指定をし、置換処理をする方法で解決を望んでいます。
この方法でフォントが適用されないのはなぜですか?
Linuxサーバーで置換元のMS P ゴシックがうまくロードできないということですか?
@John.He
LinuxサーバーにはIPA明朝、IPAゴシックがそれぞれインストールされています。
しかし、AsposeのAPIにおいて、ExcelのMS PゴシックがIPA 明朝として認識されたということでよろしいでしょうか?
@John.He
MS Pゴシックが見つからないからIPA Pゴシックに置換する処理を
Aspose.Cells.FontConfigs.SetFontSubstitutes(“MS PGothic”, new String[] { “IPAPGothic” });
でしています。なぜこれで正しく動作しないのですか?
このコードが間違っているということですか?
前の返信を見てください。あなたが入力したフォントの名前は間違っています。次のコードを使用してください。
Aspose.Cells.FontConfigs.SetFontSubstitutes("MS PGothic", new String[] { "IPAGothic" });
フォント「MS Pゴシック」がアンインストールまたは削除されたため、フォント英語名「MS PGothic」を取得できません。 したがって、ソースファイルに名前「MS Pゴシック」がある場合でも、次のコードが必要です。
Aspose.Cells.FontConfigs.SetFontSubstitutes("MS Pゴシック", new String[] { "IPAGothic" });
したがって、オリジンコードで行うのと同様に、両方の設定を安全に使用できます。
Aspose.Cells.FontConfigs.SetFontSubstitutes("MS PGothic", new String[] { "IPAGothic" });
Aspose.Cells.FontConfigs.SetFontSubstitutes("MS Pゴシック", new String[] { "IPAGothic" });
この前は誤解を招く回答をしてしまい申し訳ありませんでした