Установите свойство 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.
Это скриншот файла шаблона, используемого в примере кода.
Это выходное изображение PNG после установки свойства ImageOrPrintOptions.DefaultFont в “Times New Roman”.
Смотрите выходное изображение 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); |