Установка шрифта по умолчанию при рендеринге таблицы в изображения с помощью C++
Установка шрифта по умолчанию при рендеринге электронных таблиц в изображения
Приведенный ниже образец кода создает книгу, добавляет текст в ячейку A4 первого рабочего листа и устанавливает его шрифт на недопустимый или отсутствующий шрифт. Затем он создает два изображения рабочего листа. Первое изображение создается, установив свойство ImageOrPrintOptions.GetDefaultFont() на Courier New и второе изображение создается, установив свойство ImageOrPrintOptions.GetDefaultFont() на Times New Roman.
Это выходное изображение после установки свойства ImageOrPrintOptions.GetDefaultFont() на Courier New.
Это выходное изображение после установки свойства ImageOrPrintOptions.GetDefaultFont() на Times New Roman.
Образец кода
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Drawing;
int main() {
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook object
Workbook wb;
// Set default font of the workbook to none
Style s = wb.GetDefaultStyle();
s.GetFont().SetName(u"");
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(u"A4");
cell.PutValue(u"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(u"UnknownNotExist");
st.GetFont().SetSize(20);
st.SetIsTextWrapped(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;
opts.SetOnePagePerSheet(true);
opts.SetImageType(ImageType::Png);
// Render worksheet image with Courier New as default font
opts.SetDefaultFont(u"Courier New");
SheetRender sr(ws, opts);
sr.ToImage(0, outDir + u"out_courier_new_out.png");
// Render worksheet image again with Times New Roman as default font
opts.SetDefaultFont(u"Times New Roman");
SheetRender sr2(ws, opts);
sr2.ToImage(0, outDir + u"times_new_roman_out.png");
Aspose::Cells::Cleanup();
return 0;
}