CacheKey
Inhalt
[
Ausblenden
]FileFontSource.CacheKey property
Der Schlüssel dieser Quelle im Cache.
public string CacheKey { get; }
Bemerkungen
Dieser Schlüssel wird verwendet, um Cache-Elemente beim Speichern/Laden des Schriftartensuchcaches mit zu identifizierenSaveSearchCache
und SetFontsSources
Methoden.
Wenn kein Schlüssel angegeben ist, dannFilePath
wird stattdessen als Schlüssel verwendet.
Beispiele
Zeigt, wie der Initialisierungsprozess des Schriftartcaches beschleunigt werden kann.
public void LoadFontSearchCache()
{
const string cacheKey1 = "Arvo";
const string cacheKey2 = "Arvo-Bold";
FontSettings parsedFonts = new FontSettings();
FontSettings loadedCache = new FontSettings();
parsedFonts.SetFontsSources(new FontSourceBase[]
{
new FileFontSource(FontsDir + "Arvo-Regular.ttf", 0, cacheKey1),
new FileFontSource(FontsDir + "Arvo-Bold.ttf", 0, cacheKey2)
});
using (MemoryStream cacheStream = new MemoryStream())
{
parsedFonts.SaveSearchCache(cacheStream);
loadedCache.SetFontsSources(new FontSourceBase[]
{
new SearchCacheStream(cacheKey1),
new MemoryFontSource(File.ReadAllBytes(FontsDir + "Arvo-Bold.ttf"), 0, cacheKey2)
}, cacheStream);
}
Assert.AreEqual(parsedFonts.GetFontsSources().Length, loadedCache.GetFontsSources().Length);
}
/// <summary>
/// Laden Sie die Schriftdaten nur bei Bedarf, anstatt sie im Speicher zu speichern
/// für die gesamte Lebensdauer des Objekts „FontSettings“.
/// </summary>
private class SearchCacheStream : StreamFontSource
{
public SearchCacheStream(string cacheKey):base(0, cacheKey)
{
}
public override Stream OpenFontDataStream()
{
return File.OpenRead(FontsDir + "Arvo-Regular.ttf");
}
}
Siehe auch
- class FileFontSource
- namensraum Aspose.Words.Fonts
- Montage Aspose.Words