Manipulacja czcionkami i problemy z wydajnością

Wszystkie dostępne mechanizmy manipulacji czcionkami są zawarte w klasie FontSettings. Ta klasa jest odpowiedzialna za pobieranie czcionek w określonych źródłach czcionek, a także za proces zastępowania czcionek, jak opisano poniżej.

Analizowanie rozwiązanych czcionek

Czcionki są analizowane w kilku krokach:

  1. Uzyskiwanie informacji o czcionce, rozwiązywanie ze wszystkich dostępnych czcionek.
  2. Analizowanie rozwiązanych czcionek w celu uzyskania dostępnych glifów i metryk (poziomych i pionowych).
  3. Analizowanie rozwiązanych czcionek do osadzania i podsadzania.

Gdy Aspose.Words napotka czcionkę w dokumencie po raz pierwszy, próbuje uzyskać podstawowe informacje o czcionce, takie jak pełna nazwa czcionki, Nazwa Rodziny, wersja, styl, z plików czcionek znajdujących się w każdym źródle czcionki. Po pobraniu wszystkich czcionek Aspose.Words używa tych szczegółów, aby znaleźć wymagane dane czcionki lub odpowiedni zamiennik żądanej czcionki.

Problem Z Wydajnością Podczas Wymiany Czcionek

Ponieważ procedura opisana powyżej jest czasochłonna, może negatywnie wpłynąć na wydajność aplikacji przy pierwszym uruchomieniu. Jednak każda instancja FontSettings ma własną pamięć podręczną, co może skrócić czas przetwarzania kolejnych dokumentów. Na przykład możesz udostępnić wystąpienie klasy FontSettings między różnymi dokumentami, co pozwala przyspieszyć ładowanie dokumentów. Poniższy przykład pokazuje to:

W przypadku, gdy FontSettings nie jest zdefiniowana jawnie, Aspose.Words używa domyślnej instancji FontSettings. Ta instancja jest również automatycznie udostępniana między dokumentami i można ją wyodrębnić w następujący sposób:

C++

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

Używanie domyślnej instancji FontSettings

Jeśli masz pewność, że wszystkie dokumenty przetwarzania wymagają tych samych ustawień czcionek, zaleca się skonfigurowanie i użycie domyślnej instancji FontSettings. Załóżmy, że musisz użyć tych samych źródeł czcionek dla wszystkich swoich dokumentów. W takim przypadku możesz po prostu zmienić domyślną instancję w następujący sposób: