WarningType

WarningType enumeration

Belge yükleme veya kaydetme sırasında Aspose.Words tarafından verilen uyarının türünü belirtir.

[Flags]
public enum WarningType

değerler

İsimDeğerTanım
DataLossCategoryFFYüklemeden sonra belge ağacında ( ) veya kaydetmeden sonra oluşturulan belgede bazı metin/karakter/resim veya diğer veriler eksik olacaktır.
DataLoss1Genel veri kaybı, belirli bir kod yok.
MajorFormattingLossCategoryFF00Ortaya çıkan belge veya içindeki belirli bir konum, orijinal belgeyle karşılaştırıldığında önemli ölçüde farklı görünebilir.
MajorFormattingLoss100Genel ana biçimlendirme kaybı, belirli bir kod yok.
MinorFormattingLossCategoryFF0000Ortaya çıkan belge veya içindeki belirli bir konum, ile orijinal belgeyle karşılaştırıldığında biraz farklı görünebilir.
MinorFormattingLoss10000Genel küçük biçimlendirme kaybı, belirli bir kod yok.
FontSubstitution20000Yazı tipi değiştirildi.
FontEmbedding40000Belge kaydedilirken gömülü yazı tipi bilgilerinin kaybı.
UnexpectedContentCategoryF000000Kaynak belgedeki bazı içerik tanınamadı (yani desteklenmiyor), bu durum sorunlara neden olabilir veya olmayabilir veya veri/biçimlendirme kaybına neden olabilir.
UnexpectedContent1000000Genel beklenmeyen içerik, belirli bir kod yok.
Hint10000000Potansiyel bir soruna ilişkin tavsiyelerde bulunur veya bir iyileştirme önerir.

Örnekler

Mevcut yazı tipi kaynaklarından eksik bir yazı tipi için en yakın eşleşmeyi bulma özelliğinin nasıl ayarlanacağını gösterir.

public void EnableFontSubstitution()
{
    // Yazı tipi kaynaklarımızın hiçbirinde bulunmayan bir yazı tipiyle biçimlendirilmiş metni içeren bir belge açın.
    Document doc = new Document(MyDir + "Missing font.docx");

    // Yazı tipi değiştirme uyarılarını işlemek için bir geri arama atayın.
    HandleDocumentSubstitutionWarnings substitutionWarningHandler = new HandleDocumentSubstitutionWarnings();
    doc.WarningCallback = substitutionWarningHandler;

    // Varsayılan bir yazı tipi adı belirleyin ve yazı tipi değiştirmeyi etkinleştirin.
    FontSettings fontSettings = new FontSettings();
    fontSettings.SubstitutionSettings.DefaultFontSubstitution.DefaultFontName = "Arial";
    ;
    fontSettings.SubstitutionSettings.FontInfoSubstitution.Enabled = true;

    // Font değişiminden sonra orijinal font metrikleri kullanılmalıdır.
    doc.LayoutOptions.KeepOriginalFontMetrics = true;

    // Fontu eksik olan bir belgeyi kaydedersek font değiştirme uyarısı alacağız.
    doc.FontSettings = fontSettings;
    doc.Save(ArtifactsDir + "FontSettings.EnableFontSubstitution.pdf");

    using (IEnumerator<WarningInfo> warnings = substitutionWarningHandler.FontWarnings.GetEnumerator())
        while (warnings.MoveNext())
            Console.WriteLine(warnings.Current.Description);

    // Koleksiyondaki uyarıları da doğrulayıp temizleyebiliriz.
    Assert.AreEqual(WarningSource.Layout, substitutionWarningHandler.FontWarnings[0].Source);
    Assert.AreEqual(
        "Font '28 Days Later' has not been found. Using 'Calibri' font instead. Reason: alternative name from document.",
        substitutionWarningHandler.FontWarnings[0].Description);

    substitutionWarningHandler.FontWarnings.Clear();

    Assert.That(substitutionWarningHandler.FontWarnings, Is.Empty);
}

public class HandleDocumentSubstitutionWarnings : IWarningCallback
{
    /// <summary>
    /// Yükleme/kaydetme sırasında her uyarı oluştuğunda çağrılır.
    /// </summary>
    public void Warning(WarningInfo info)
    {
        if (info.WarningType == WarningType.FontSubstitution)
            FontWarnings.Warning(info);
    }

    public WarningInfoCollection FontWarnings = new WarningInfoCollection();
}

Ayrıca bakınız