PowerPoint Yazı Tiplerini .NET'te Özelleştirin
Genel Bakış
Aspose.Slides, işletim sistemine kurulum yapmadan sunularda özel yazı tiplerini kullanmanıza olanak tanır. Yazı tiplerini özel klasörlerden yükleyebilir, belge‑seviyesindeki font kaynakları aracılığıyla belirli bir sunum için font sağlayabilir veya dış yazı tiplerini doğrudan ikili veri üzerinden yükleyebilirsiniz.
Yüklenen yazı tipleri, bir sunum render edildiğinde veya PDF, görsel ve diğer desteklenen biçimlere aktarıldığında kullanılır. Bu, sunum çıktısının farklı ortamlarda tutarlı kalmasını sağlar. Makale ayrıca Aspose.Slides tarafından kullanılan yazı tipi klasörlerinin nasıl inceleneceğini ve dış yazı tipleriyle çalıştıktan sonra yazı tipi önbelleğinin nasıl temizleneceğini açıklar.
Render için özel yazı tiplerini kaydetmek, bir PPTX dosyasına gömmekten ayrı bir işlemdir. Eğer bir yazı tipinin sunum içinde saklanması gerekiyorsa, gömme özelliklerini açıkça kullanın.
Aspose Slides, bu yazı tiplerini FontsLoader.LoadExternalFonts yöntemiyle yüklemenize izin verir:
Özel Yazı Tiplerini Yükle
Aspose.Slides, bir sunumda kullanılan yazı tiplerini sistemde kurulum yapmadan yüklemenizi sağlar. Bu, PDF, görseller ve diğer desteklenen biçimler gibi dışa aktarım çıktısını etkileyerek belgelerin farklı ortamlarda tutarlı görünmesini sağlar. Yazı tipleri özel dizinlerden yüklenir.
- Yazı dosyalarını içeren bir veya birden fazla klasör belirleyin.
- Bu klasörlerden yazı tiplerini yüklemek için statik FontsLoader.LoadExternalFonts metodunu çağırın.
- Sunumu yükleyin ve render/aktarım işlemini gerçekleştirin.
- Yazı tipi önbelleğini temizlemek için FontsLoader.ClearCache metodunu çağırın.
Aşağıdaki kod örneği yazı tipi yükleme sürecini gösterir:
// Özel yazı tipi dosyalarını içeren klasörleri tanımlayın.
string[] fontFolders = { externalFontFolder1, externalFontFolder2 };
// Belirtilen klasörlerden özel yazı tiplerini yükleyin.
FontsLoader.LoadExternalFonts(fontFolders);
using Presentation presentation = new Presentation("sample.pptx");
// Yüklenen yazı tiplerini kullanarak sunumu render/aktar (ör. PDF, görseller veya diğer formatlar).
presentation.Save("output.pdf", SaveFormat.Pdf);
// İş tamamlandıktan sonra yazı tipi önbelleğini temizleyin.
FontsLoader.ClearCache();
Note
FontsLoader.LoadExternalFonts ek klasörleri font arama yollarına ekler, ancak font başlatma sırasını değiştirmez.
Fontlar şu sırayla başlatılır:
- Varsayılan işletim sistemi font yolu.
- FontsLoader aracılığıyla yüklenen yollar.
Özel Yazı Tipi Klasörlerini Al
Aspose.Slides, font klasörlerini bulmanızı sağlayan GetFontFolders metodunu sunar. Bu metod, LoadExternalFonts yöntemiyle eklenen klasörleri ve sistem font klasörlerini döndürür.
Aşağıdaki C# kodu, GetFontFolders kullanımını gösterir:
// Bu satır, yazı tipi dosyaları için kontrol edilen klasörleri çıktılar.
// Bunlar LoadExternalFonts yöntemiyle eklenen klasörler ve sistem yazı tipi klasörleridir.
string[] fontFolders = FontsLoader.GetFontFolders();
Sunumda Kullanılan Özel Yazı Tiplerini Belirle
Aspose.Slides, sunumla birlikte kullanılacak dış fontları belirlemenizi sağlayan DocumentLevelFontSources özelliğini sunar.
Aşağıdaki C# kodu, DocumentLevelFontSources özelliğinin nasıl kullanılacağını gösterir:
byte[] memoryFont1 = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] memoryFont2 = File.ReadAllBytes("customfonts\\CustomFont2.ttf");
LoadOptions loadOptions = new LoadOptions();
loadOptions.DocumentLevelFontSources.FontFolders = new string[] { "assets\\fonts", "global\\fonts" };
loadOptions.DocumentLevelFontSources.MemoryFonts = new byte[][] { memoryFont1, memoryFont2 };
using (IPresentation presentation = new Presentation("MyPresentation.pptx", loadOptions))
{
// Sunumla çalışın
// CustomFont1, CustomFont2 ve assets\fonts ve global\fonts klasörlerinden ve alt klasörlerinden gelen yazı tipleri sunumda kullanılabilir
}
Yazı Tiplerini Harici Olarak Yönet
Aspose.Slides, dış fontları ikili veri üzerinden yüklemenizi sağlayan LoadExternalFont(byte[] data) metodunu sunar.
Aşağıdaki C# kodu, bayt dizisi ile font yükleme sürecini göstermektedir:
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALN.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNBI.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNI.TTF"));
try
{
using (Presentation pres = new Presentation(""))
{
// sunum ömrü süresince yüklenen harici yazı tipi
}
}
finally
{
FontsLoader.ClearCache();
}
SSS
Özel yazı tipleri tüm formatlara (PDF, PNG, SVG, HTML) dışa aktarımı etkiler mi?
Evet. Bağlı yazı tipleri render motoru tarafından tüm dışa aktarım formatlarında kullanılır.
Özel yazı tipleri otomatik olarak oluşturulan PPTX dosyasına gömülür mü?
Hayır. Render için bir fontun kaydedilmesi, PPTX dosyasına gömülmesiyle aynı şey değildir. Fontun sunum dosyasının içinde taşınması gerekiyorsa, açıkça gömme özelliklerini kullanmanız gerekir.
Bir özel font belirli glifleri içermediğinde geri dönüş davranışını kontrol edebilir miyim?
Evet. Font ikamesi, değiştirme kuralları ve geri dönüş setleri yapılandırarak istenen glif eksik olduğunda hangi fontun kullanılacağını tam olarak tanımlayabilirsiniz.
Linux/Docker konteynerlerinde fontları sistem genelinde kurulum yapmadan kullanabilir miyim?
Evet. Kendi font klasörlerinizi gösterebilir veya fontları bayt dizilerinden yükleyebilirsiniz. Bu, konteyner imajındaki sistem font dizinlerine bağımlılığı ortadan kaldırır.
Lisanslama açısından özelleştirilmiş bir fontu sınırlama olmadan gömebilir miyim?
Font lisans uyumluluğu sizin sorumluluğunuzdadır. Şartlar değişiklik gösterir; bazı lisanslar gömme veya ticari kullanımını yasaklar. Çıktıları dağıtmadan önce fontun EULA’sını mutlaka inceleyin.