スプレッドシートを画像にレンダリングする際にデフォルトフォントを設定する

スプレッドシートを画像にレンダリングする際のデフォルトフォントの設定

以下のサンプルコードは、ワークブックを作成し、最初のワークシートのセルA4にテキストを追加し、そのフォントを無効または存在しないフォントに設定します。その後、ワークシートのイメージを2枚取得します。最初のイメージは、ImageOrPrintOptions.DefaultFontプロパティをCourier Newに設定して取得され、2番目のイメージは、ImageOrPrintOptions.DefaultFontプロパティをTimes New Romanに設定して取得されます。

ImageOrPrintOptions.DefaultFontプロパティをCourier Newに設定した後の出力画像です。

todo:image_alt_text

ImageOrPrintOptions.DefaultFontプロパティをTimes New Romanに設定した後の出力画像です。

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Directory path where output HTML files are to be saved
String dataDir = Utils.getSharedDataDir(SetDefaultFontWhileRenderingSpreadsheetToImages.class) + "Conversion/";
//Create workbook object.
Workbook wb = new Workbook();
//Set default font of the workbook to none
Style s = wb.getDefaultStyle();
s.getFont().setName("");
wb.setDefaultStyle(s);
//Access first worksheet.
Worksheet ws = wb.getWorksheets().get(0);
//Access cell A4 and add some text inside it.
Cell cell = ws.getCells().get("A4");
cell.putValue("This text has some unknown or invalid font which does not exist.");
//Set the font of cell A4 which is unknown.
Style st = cell.getStyle();
st.getFont().setName("UnknownNotExist");
st.getFont().setSize(20);
st.setTextWrapped(true);
cell.setStyle(st);
//Set first column width and fourth column height
ws.getCells().setColumnWidth(0, 80);
ws.getCells().setRowHeight(3, 60);
//Create image or print options.
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.setOnePagePerSheet(true);
opts.setImageFormat(ImageFormat.getPng());
//Render worksheet image with Courier New as default font.
opts.setDefaultFont("Courier New");
SheetRender sr = new SheetRender(ws, opts);
sr.toImage(0, dataDir + "out_courier_new.png");
//Render worksheet image again with Times New Roman as default font.
opts.setDefaultFont("Times New Roman");
sr = new SheetRender(ws, opts);
sr.toImage(0, dataDir + "out_times_new_roman.png");