WarningInfoCollection

WarningInfoCollection class

Rappresenta una raccolta digitata diWarningInfo oggetti.

Per saperne di più, visita ilProgrammazione con documenti articolo di documentazione.

public class WarningInfoCollection : IEnumerable<WarningInfo>, IWarningCallback

Costruttori

NomeDescrizione
WarningInfoCollection()Default_Costruttore

Proprietà

NomeDescrizione
Count { get; }Ottiene il numero di elementi contenuti nella raccolta.
Item { get; }Ottiene un elemento all’indice specificato.

Metodi

NomeDescrizione
Clear()Rimuove tutti gli elementi dalla raccolta.
GetEnumerator()Restituisce un oggetto enumeratore che può essere utilizzato per scorrere tutti gli elementi della raccolta.
Warning(WarningInfo)Implementa ilIWarningCallback interfaccia. Aggiunge un avviso a questa raccolta.

Osservazioni

È possibile utilizzare questo oggetto raccolta come la forma più semplice diIWarningCallback implementazione per raccogliere tutti gli avvisi generati da Aspose.Words durante un’operazione di caricamento o salvataggio. Crea un’istanza di questa classe e assegnala al fileWarningCallback OWarningCallback proprietà.

Esempi

Mostra come impostare la proprietà per trovare la corrispondenza più vicina per un carattere mancante tra le origini dei caratteri disponibili.

public void EnableFontSubstitution()
{
    // Apre un documento che contiene testo formattato con un carattere che non esiste in nessuna delle nostre fonti di caratteri.
    Document doc = new Document(MyDir + "Missing font.docx");

    // Assegna una richiamata per gestire gli avvisi di sostituzione dei caratteri.
    HandleDocumentSubstitutionWarnings substitutionWarningHandler = new HandleDocumentSubstitutionWarnings();
    doc.WarningCallback = substitutionWarningHandler;

    // Imposta un nome di carattere predefinito e abilita la sostituzione del carattere.
    FontSettings fontSettings = new FontSettings();
    fontSettings.SubstitutionSettings.DefaultFontSubstitution.DefaultFontName = "Arial";
    ;
    fontSettings.SubstitutionSettings.FontInfoSubstitution.Enabled = true;

    // Le metriche dei caratteri originali devono essere utilizzate dopo la sostituzione dei caratteri.
    doc.LayoutOptions.KeepOriginalFontMetrics = true;

    // Riceveremo un avviso di sostituzione del carattere se salviamo un documento con un carattere mancante.
    doc.FontSettings = fontSettings;
    doc.Save(ArtifactsDir + "FontSettings.EnableFontSubstitution.pdf");

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

    // Possiamo anche verificare gli avvisi nella raccolta e cancellarli.
    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>
    /// Chiamato ogni volta che si verifica un avviso durante il caricamento/salvataggio.
    /// </summary>
    public void Warning(WarningInfo info)
    {
        if (info.WarningType == WarningType.FontSubstitution)
            FontWarnings.Warning(info);
    }

    public WarningInfoCollection FontWarnings = new WarningInfoCollection();
}

Guarda anche