Aspose.Diagram Операции со шрифтами
Работа со шрифтами
Где Aspose.Diagram ищет шрифты TrueType на Windows
Aspose.Diagram ищет шрифты вWindows\Шрифты папка. Этот параметр по умолчанию работает большую часть времени, поэтому указывайте свои собственные папки со шрифтами только в том случае, если вам это действительно нужно.
Как явно указать папку со шрифтами
Aspose.Diagram API-интерфейсы предоставили метод setFontDirs дляDiagram class, чтобы указать папки шрифтов, как описано ниже.
- Метод Diagram.setFontDirs принимает массив строк в качестве параметра, поэтому разработчик может указать множество каталогов шрифтов, используя этот подход.
Демонстрирует, как настроить Aspose.Diagram для поиска шрифтов TrueType в нескольких папках при визуализации или внедрении шрифтов.
Образец программирования
В приведенном ниже примере кода показано, как настроить Aspose.Diagram для поиска шрифтов TrueType в нескольких папках при отображении или внедрении шрифтов.
Получение уведомлений об отсутствующих шрифтах и замене шрифтов во время рендеринга
Aspose.Diagram API требует доступа к точному шрифту для правильного отображения чертежа в формате PDF. Если требуемый шрифт недоступен на компьютере, то Aspose.Diagram API отображает любой экземпляр этого шрифта, используя шрифт по умолчанию или ближайший доступный шрифт на компьютере, поскольку эта замена может изменить внешний вид визуализированного чертежа, разработчикам может потребоваться уведомление об отсутствии шрифта и о том, каким шрифтом он будет заменен.
Уведомление об отсутствующих шрифтах и пример программирования замены шрифтов
Чтобы получать уведомления о замене шрифта во время рендеринга:
- Создайте класс, реализующийIWarningCallback
- Передайте его свойству PdfSaveOptions.setWarningCallback(com.aspose.diagram.IWarningCallback).
При сохранении чертежа экземплярIWarningCallbackвызывается, если есть какие-либо потенциальные проблемы с точностью воспроизведения рисунка. В этом случае мы выбираем обработку только предупреждений, связанных с заменой шрифта, и вывод предупреждения на экран. В приведенном ниже примере показано, как получать уведомления о замене шрифта с помощьюIWarningCallback.
Java
// load the document to render.
Diagram diagram = new Diagram("C:\\temp\\Output.vsdx");
// initialize PdfSaveOptions object
com.aspose.diagram.PdfSaveOptions saveOp = new com.aspose.diagram.PdfSaveOptions();
// create a new class implementing IWarningCallback which collect any warnings produced during drawing save.
HandleDocumentWarnings callback = new HandleDocumentWarnings();
saveOp.setWarningCallback(callback);
// pass the save options along with the save path to the save method.
diagram.save("C:\\temp\\Rendering.MissingFontNotification Out.pdf", saveOp);
Реализация IWarningCallback
Последним шагом является создание класса, реализующегоIWarningCallbackинтерфейс. Этот класс выведет на консоль все предупреждения о замене шрифта. В приведенном ниже примере показано, как реализовать IWarningCallback для уведомления о любой замене шрифта во время сохранения документа.
Java
public class HandleDocumentWarnings implements IWarningCallback {
/**
* Our callback only needs to implement the "Warning" method. This method is
* called whenever there is a potential issue during document processing.
* The callback can be set to listen for warnings generated during document
* load and/or document save.
*/
public void warning(WarningInfo info) {
// We are only interested in fonts being substituted.
if (info.getWarningType() == WarningType.FONT_SUBSTITUTION) {
System.out.println("Font substitution: " + info.getDescription());
}
}
}