IsSubsettingNeeded
FontSavingArgs.IsSubsettingNeeded property
Geçerli yazı tipinin yazı tipi kaynağı olarak dışa aktarılmadan önce alt kümeye ayrılıp ayrılmayacağını belirtmeye olanak tanır.
public bool IsSubsettingNeeded { get; set; }
Notlar
Yazı tipleri, tam orijinal yazı tipi dosyaları olarak dışa aktarılabilir veya yalnızca belgede kullanılan karakterleri içerecek şekilde alt kümeye ayrılabilir. Alt kümeye ayırma, ortaya çıkan yazı tipi kaynağı boyutunu azaltmaya olanak tanır.
Varsayılan olarak, Aspose.Words, orijinal yazı tipi dosya boyutu ‘yi belirtilenle karşılaştırarak alt kümeleme yapılıp yapılmayacağına karar verir.FontResourcesSubsettingSizeThreshold . Bu davranışı, tek tek yazı tipleri için geçersiz kılmak için şunu ayarlayabilirsiniz:IsSubsettingNeeded mülk.
Örnekler
HTML’e kaydederken yazı tiplerini dışa aktarmak için özel mantığın nasıl tanımlanacağını gösterir.
public void SaveExportedFonts()
{
Document doc = new Document(MyDir + "Rendering.docx");
// Yazı tiplerini ayrı dosyalara aktarmak için bir SaveOptions nesnesi yapılandırın.
// Yazı tipi kaydetmeyi özel bir şekilde işleyecek bir geri çağırma ayarlayın.
HtmlSaveOptions options = new HtmlSaveOptions
{
ExportFontResources = true,
FontSavingCallback = new HandleFontSaving()
};
// Geri arama .ttf dosyalarını dışa aktaracak ve bunları çıktı belgesinin yanına kaydedecektir.
doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveExportedFonts.html", options);
foreach (string fontFilename in Array.FindAll(Directory.GetFiles(ArtifactsDir), s => s.EndsWith(".ttf")))
{
Console.WriteLine(fontFilename);
}
}
/// <summary>
/// Dışa aktarılan yazı tipleri hakkında bilgi yazdırır ve bunları çıktı .html'leriyle aynı yerel sistem klasörüne kaydeder.
/// </summary>
public class HandleFontSaving : IFontSavingCallback
{
void IFontSavingCallback.FontSaving(FontSavingArgs args)
{
Console.Write($"Font:\t{args.FontFamilyName}");
if (args.Bold) Console.Write(", bold");
if (args.Italic) Console.Write(", italic");
Console.WriteLine($"\nSource:\t{args.OriginalFileName}, {args.OriginalFileSize} bytes\n");
// Kaynak dokümana buradan da ulaşabiliriz.
Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));
Assert.True(args.IsExportNeeded);
Assert.True(args.IsSubsettingNeeded);
// Dışa aktarılan bir yazı tipini kaydetmenin iki yolu vardır.
// 1 - Bunu yerel bir dosya sistemi konumuna kaydedin:
args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();
// 2 - Bunu bir akışa kaydedin:
args.FontStream =
new FileStream(ArtifactsDir + args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last(), FileMode.Create);
Assert.False(args.KeepFontStreamOpen);
}
}
Ayrıca bakınız
- class FontSavingArgs
- ad alanı Aspose.Words.Saving
- toplantı Aspose.Words