FontSavingArgs

FontSavingArgs class

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

Daha fazla bilgi edinmek için şu adresi ziyaret edin:Bir Belgeyi Kaydet belgeleme makalesi.

public class FontSavingArgs

Özellikleri

İsimTanım
Bold { get; }Mevcut yazı tipinin kalın olup olmadığını gösterir.
Document { get; }Kaydedilen belge nesnesini alır.
FontFamilyName { get; }Mevcut yazı tipi aile 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ışı belirtmenize olanak tanır.
IsExportNeeded { get; set; }Geçerli yazı tipinin bir yazı tipi kaynağı olarak dışa aktarılıp aktarılmayacağını belirtmenize olanak tanır. Varsayılandoğru .
IsSubsettingNeeded { get; set; }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.
Italic { get; }Mevcut yazı tipinin italik olup olmadığını belirtir.
KeepFontStreamOpen { get; set; }Aspose.Words’ün bir fontu kaydettikten sonra akışı açık tutması mı yoksa kapatması mı gerektiğini belirtir.
OriginalFileName { get; }Orijinal yazı tipi dosya adını uzantıyla birlikte alır.
OriginalFileSize { get; }Orijinal yazı tipi dosya boyutunu alır.

Notlar

Aspose.Words bir belgeyi HTML veya ilgili biçimlere kaydettiğinde veExportFontResources olarak ayarlandıdoğru, her yazı tipi konusunu ayrı bir dosyaya aktarılmak üzere kaydeder.

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

FontSavingArgsAyrıca, kendi akış nesnelerinizi sağlayarak font dosya adlarının nasıl oluşturulacağını yeniden tanımlamanıza veya fontların dosyalara kaydedilmesini tamamen engellemenize olanak tanır.

Belirli bir yazı tipi kaynağını kaydedip kaydetmemeye karar vermek için şunu kullanın:IsExportNeeded mülk.

Yazı tiplerini dosyalar yerine akışlara kaydetmek için şunu kullanın:FontStream 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