Установите свойство DefaultFont объектов PdfSaveOptions и ImageOrPrintOptions в приоритетном порядке

Возможные сценарии использования

При установке свойства DefaultFont в PdfSaveOptions и ImageOrPrintOptions можно ожидать, что при сохранении в формат PDF или изображения будет установлен этот DefaultFont для всего текста в рабочей книге, используя отсутствующий (не установленный) шрифт.

Когда сохраняется в формат PDF или изображения, Aspose.Cells сначала пытается установить шрифт по умолчанию рабочей книги (т.е. Workbook.DefaultStyle.Font). Если шрифт по умолчанию рабочей книги все еще не может правильно показывать/воспроизводить текст, то Aspose.Cells попытается воспроизвести с использованием шрифта, указанного в атрибуте DefaultFont в PdfSaveOptions/ImageOrPrintOptions.

Чтобы соответствовать вашему ожиданию, у нас есть логическое свойство с именем “CheckWorkbookDefaultFont” в PdfSaveOptions/ImageOrPrintOptions. Вы можете установить его в значение false, чтобы отключить попытку установки шрифта по умолчанию рабочей книги, или позволить установке DefaultFont в PdfSaveOptions/ImageOrPrintOptions иметь приоритет.

Установите свойство DefaultFont объектов PdfSaveOptions/ImageOrPrintOptions

Следующий образец кода открывает файл Excel. В ячейке A1 (на первом листе) установлен текст “Christmas Time Font text”. Название шрифта - “Christmas Time Personal Use”, который не установлен на машине. Мы устанавливаем атрибут DefaultFont объектов PdfSaveOptions/ImageOrPrintOptions на “Times New Roman”. Мы также устанавливаем логическое свойство CheckWorkbookDefaultFont в “false”, чтобы гарантировать, что текст ячейки A1 будет отображаться шрифтом “Times New Roman” и не будет использоваться шрифт по умолчанию рабочей книги (в данном случае - “Calibri”). Код рендерит первый лист в форматах PNG и TIFF. Затем рендерит в формат PDF.

Это скриншот файла шаблона, используемого в примере кода.

todo:image_alt_text

Это выходное изображение PNG после установки свойства ImageOrPrintOptions.DefaultFont в “Times New Roman”.

todo:image_alt_text

Смотрите выходное изображение TIFF после установки свойства ImageOrPrintOptions.DefaultFont в “Times New Roman”.

Смотрите выходной PDF файл после установки свойства PdfSaveOptions.DefaultFont в “Times New Roman”.

Образец кода

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String srcDir = Utils.Get_SourceDirectory();
String outDir = Utils.Get_OutputDirectory();
// Open an Excel file.
Workbook workbook = new Workbook(
srcDir + "sampleSetDefaultFontPropertyOfPdfSaveOptionsAndImageOrPrintOptions.xlsx");
// Rendering to PNG file format while setting the
// CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not
// installed) font in the workbook.
ImageOrPrintOptions imgOpt = new ImageOrPrintOptions();
imgOpt.setImageType(ImageType.PNG);
imgOpt.setCheckWorkbookDefaultFont(false);
imgOpt.setDefaultFont("Times New Roman");
SheetRender sr = new SheetRender(workbook.getWorksheets().get(0), imgOpt);
sr.toImage(0, outDir + "outputSetDefaultFontProperty_ImagePNG.png");
// Rendering to TIFF file format while setting the
// CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not
// installed) font in the workbook.
imgOpt.setImageType(ImageType.TIFF);
WorkbookRender wr = new WorkbookRender(workbook, imgOpt);
wr.toImage(outDir + "outputSetDefaultFontProperty_ImageTIFF.tiff");
// Rendering to PDF file format while setting the
// CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not
// installed) font in the workbook.
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.setDefaultFont("Times New Roman");
saveOptions.setCheckWorkbookDefaultFont(false);
workbook.save(outDir + "outputSetDefaultFontProperty_PDF.pdf", saveOptions);