Манипулиране на шрифта и проблеми с производителността

Всички налични механизми за манипулиране на шрифта се съдържат в класа FontSettings. Този клас е отговорен за извличането на шрифтовете в дефинираните източници на шрифтове, както и за процеса на заместване на шрифта, както е описано по-долу.

Разбор на разрешените шрифтове

Шрифтовете се анализират в няколко стъпки:

  1. Получаване на информация за шрифта, решаване от всички налични шрифтове.
  2. Анализ на разрешените шрифтове, за да получите налични глифове и показатели (хоризонтални и вертикални).
  3. Анализ на разрешените шрифтове за вграждане и подмножаване.

Когато Aspose.Words срещне шрифт в документа за първи път, той се опитва да получи основна информация за шрифта, като пълното име на шрифта, фамилното име, версията, стила, от файловете с шрифтове, разположени във всеки източник на шрифт. След като всички шрифтове са извлечени, Aspose.Words използва тези подробности, за да намери необходимите данни за шрифта или подходящ заместител на искания шрифт.

Проблем С Производителността При Замяна На Шрифтове

Тъй като процедурата, описана по-горе, отнема много време, тя може да повлияе отрицателно на производителността на приложението при първото му стартиране. Всеки случай на FontSettings обаче има свой собствен кеш, което може да намали времето за обработка на следващите документи. Например можете да споделите екземпляр от класа FontSettings между различни документи, което ви позволява да ускорите зареждането на документите. Следващият пример показва това:

В случай, че FontSettings не е определено изрично, Aspose.Words използва по подразбиране FontSettings екземпляр. Този екземпляр също се споделя автоматично между документите и може да бъде извлечен по следния начин::

C++

System::SharedPtr<FontSettings> fontSettings = System::MakeObject<FontSettings>()->get_DefaultInstance();

Използване на инстанцията по подразбиране FontSettings

Ако сте сигурни, че всички документи за обработка изискват едни и същи настройки на шрифта, тогава се препоръчва да настроите и използвате екземпляра по подразбиране FontSettings. Да предположим, че трябва да използвате едни и същи източници на шрифт за всички ваши документи. В този случай можете просто да промените инстанцията по подразбиране, както следва::