Excelファイルをレンダリングする際にフォントの置換ワーニングを取得

以下のスクリーンショットは、次のコードで使用されるソースExcelファイルを示しています。A6セルとA7セルには、Microsoft Excelによって適切にレンダリングされないフォントのテキストが含まれています。

todo:image_alt_text

Aspose.Cellsは、セルA6とA7のフォントを適切なフォントで置き換えます。

todo:image_alt_text

ソースファイルと出力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 ].