Excel ファイルのレンダリング中にフォントの置換に関する警告を受け取る
Contents
[
Hide
]
Microsoft の Excel ファイルを PDF にレンダリングすると、Aspose.Cells がフォントに置き換わる場合があります。 Aspose.Cells は、警告を発することによって、特定のフォントが置き換えられたことを開発者に知らせる機能を提供します。これは、PDF をレンダリングした Aspose.Cells が元の Microsoft Excel ファイルと異なる理由を特定して、適切なアクションを実行できるようにするのに役立つ便利な機能です。たとえば、不足しているフォントをインストールして、レンダリング結果が同じに見えるようにします。
Excel ファイルを PDF にレンダリングするときにフォント置換の警告を受け取るには、IWarningCallback インターフェイスを実装し、実装したインターフェイスで PdfSaveOptions.WarningCallback プロパティを設定します。
以下のスクリーンショットは、次のコードで使用するソース Excel ファイルを示しています。セル A6 と A7 に、Microsoft Excel でうまく表示されないフォントのテキストがあります。
すべてのフォントが正しくレンダリングされるわけではありません |
---|
![]() |
Aspose.Cells は、以下に示すように、セル A6 および A7 のフォントを適切なフォントに置き換えます。 |
代替フォント |
---|
![]() |
ソースファイルのダウンロードと出力 PDF
ソース Excel ファイルと出力 PDF は、次のリンクからダウンロードできます。
コード
次のコードは、IWarningCallback を実装し、実装されたインターフェイスで PdfSaveOptions.WarningCallback プロパティを設定します。これで、任意のセルで任意のフォントが置換されるたびに、Aspose.Cells が WarningCallback.Warning() メソッド内で警告を発します。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
public class GetWarningsForFontSubstitution : IWarningCallback | |
{ | |
public void Warning(WarningInfo info) | |
{ | |
if (info.WarningType == WarningType.FontSubstitution) | |
{ | |
Debug.WriteLine("WARNING INFO: " + info.Description); | |
} | |
} | |
public static void Run() | |
{ | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
Workbook workbook = new Workbook(dataDir + "source.xlsx"); | |
PdfSaveOptions options = new PdfSaveOptions(); | |
options.WarningCallback = new GetWarningsForFontSubstitution(); | |
dataDir = dataDir + "output_out.pdf"; | |
workbook.Save(dataDir, options); | |
} | |
} |
出力
ソース Excel ファイルを PDF に変換すると、次のように警告がデバッグ コンソールに出力されます。
WARNING INFO: Font substitution: Font [ Athene Logos; Regular ]has been substituted in Cell [ A6 ]in Sheet [ Sheet1 ].
WARNING INFO: Font substitution: Font [ B Traffic; Regular ]has been substituted in Cell [ A7 ]in Sheet [ Sheet1 ].
スプレッドシートに数式が含まれている場合は、スプレッドシートを PDF 形式にレンダリングする直前に Workbook.CalculateFormula メソッドを呼び出すことをお勧めします。そうすることで、式に依存する値が再計算され、正しい値が PDF に表示されるようになります。