スプレッドシートを画像にレンダリングする際にデフォルトフォントを設定する
スプレッドシートを画像にレンダリングする際のデフォルトフォントの設定
以下のサンプルコードは、ワークブックを作成し、最初のワークシートのセルA4にテキストを追加し、そのフォントを無効または存在しないフォントに設定します。その後、ワークシートのイメージを2枚取得します。最初のイメージは、ImageOrPrintOptions.DefaultFontプロパティをCourier Newに設定して取得され、2番目のイメージは、ImageOrPrintOptions.DefaultFontプロパティをTimes New Romanに設定して取得されます。
ImageOrPrintOptions.DefaultFontプロパティをCourier Newに設定した後の出力画像です。
ImageOrPrintOptions.DefaultFontプロパティをTimes New Romanに設定した後の出力画像です。
// 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"); |