Excel ファイルのレンダリング中にフォントの置換に関する警告を受け取る
Microsoft Excel ファイルを PDF にレンダリングすると、Aspose.Cells がフォントに置き換わる場合があります。 Aspose.Cells は、開発者に特定のフォントが置き換えられたことを警告を発することで知らせる機能を提供します。これは、レンダリングされた Aspose.Cells が PDF と実際の Excel ファイルと異なる理由を特定し、適切なアクションを実行できる便利な機能です。たとえば、不足しているフォントをインストールして、レンダリング結果が同じに見えるようにすることができます。
Excel ファイルを PDF にレンダリングする際にフォントの置換に関する警告を表示するには、IWarningCallback インターフェイスを実装し、実装したインターフェイスで PdfSaveOptions.setWarningCallback() メソッドを設定します。
以下のスクリーンショットは、次のコードで使用されるソース Excel ファイルを示しています。 Microsoft Excel では適切に表示されないフォントのセル A6 と A7 にテキストが含まれています。
Aspose.Cells は、以下に示すように、セル A6 および A7 のフォントを適切なフォントに置き換えます。
ソースファイルのダウンロードと出力 PDF
ソース Excel ファイルと出力 PDF は、次のリンクからダウンロードできます。
次のコードは、IWarningCallbackを設定します。PdfSaveOptions.setWarningCallback()実装されたインターフェイスを持つメソッド。これで、任意のセルで任意のフォントが置換されるたびに、Aspose.Cells が WarningCallback.warning() メソッド内で警告を発します。
public class WarningCallback implements IWarningCallback {
@Override
public void warning(WarningInfo info) {
if(info.getWarningType() == WarningType.FONT_SUBSTITUTION)
{
System.out.println("WARNING INFO: " + info.getDescription());
}
}
}
//........
//........
static void Run() throws Exception
{
Workbook workbook = new Workbook("source.xlsx");
PdfSaveOptions options = new PdfSaveOptions();
options.setWarningCallback(new WarningCallback());
workbook.save("output.pdf", options);
}
警告出力
ソース ファイルの変換後、次の警告がデバッグ コンソールに出力されます。
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 ].