FontSavingArgs

FontSavingArgs class

Şunun için veri sağlar:FontSaving olay.

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Bir Belgeyi Kaydet dokümantasyon makalesi.

public class FontSavingArgs

Özellikleri

İsimTanım
Bold { get; }Geçerli yazı tipinin kalın olup olmadığını belirtir.
Document { get; }Kaydedilen belge nesnesini alır.
FontFamilyName { get; }Geçerli yazı tipi ailesinin adını belirtir.
FontFileName { get; set; }Yazı tipinin kaydedileceği dosya adını (yol olmadan) alır veya ayarlar.
FontStream { get; set; }Yazı tipinin kaydedileceği akışı belirtmeye izin verir.
IsExportNeeded { get; set; }Geçerli yazı tipinin yazı tipi kaynağı olarak dışa aktarılıp aktarılmayacağını belirlemeye olanak tanır. Varsayılan:doğru .
IsSubsettingNeeded { get; set; }Geçerli yazı tipinin, bir yazı tipi kaynağı olarak dışa aktarılmadan önce alt kümeye alınıp alınmayacağını belirlemeye izin verir.
Italic { get; }Geçerli yazı tipinin italik olup olmadığını belirtir.
KeepFontStreamOpen { get; set; }Aspose.Words’ün bir yazı tipini kaydettikten sonra akışı açık mı tutması yoksa kapatması mı gerektiğini belirtir.
OriginalFileName { get; }Uzantısıyla orijinal yazı tipi dosyasının adını alır.
OriginalFileSize { get; }Orijinal yazı tipi dosyasının boyutunu alır.

Notlar

Aspose.Words bir belgeyi HTML’ye veya ilgili formatlara kaydettiğinde veExportFontResources şu şekilde ayarlandıdoğru, her yazı tipi konusunu dışa aktarılmak üzere ayrı bir dosyaya kaydeder.

FontSavingArgs belirli yazı tipi kaynağının dışa aktarılıp aktarılmayacağını ve nasıl dışa aktarılacağını kontrol eder.

FontSavingArgsayrıca yazı tipi dosyası adlarının nasıl oluşturulduğunu yeniden tanımlamanıza veya kendi akış nesnelerinizi sağlayarak yazı tiplerinin dosyalara kaydedilmesini tamamen engellemenize olanak tanır.

Belirli bir yazı tipi kaynağının kaydedilip kaydedilmeyeceğine karar vermek içinIsExportNeeded mülk.

Yazı tiplerini dosyalar yerine akışlara kaydetmek içinFontStream mülk.

Örnekler

HTML’ye 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 gerçekleştirecek bir geri arama 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ındaki bilgileri 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 - Yerel dosya sistemi konumuna kaydedin:
        args.FontFileName = args.OriginalFileName.Split(Path.DirectorySeparatorChar).Last();

        // 2 - 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