SpecialChar

SpecialChar class

Classe de base pour les caractères spéciaux dans le document.

public class SpecialChar : Inline

Propriétés

Nom La description
CustomNodeId { get; set; } Spécifie l’identifiant de nœud personnalisé.
virtual Document { get; } Obtient le document auquel ce nœud appartient.
Font { get; } Fournit l’accès à la mise en forme de la police de cet objet.
virtual IsComposite { get; } Renvoie true si ce nœud peut contenir d’autres nœuds.
IsDeleteRevision { get; } Renvoie true si cet objet a été supprimé dans Microsoft Word alors que le suivi des modifications était activé.
IsFormatRevision { get; } Renvoie true si la mise en forme de l’objet a été modifiée dans Microsoft Word alors que le suivi des modifications était activé.
IsInsertRevision { get; } Renvoie true si cet objet a été inséré dans Microsoft Word alors que le suivi des modifications était activé.
IsMoveFromRevision { get; } Retours vrai si cet objet a été déplacé (supprimé) dans Microsoft Word alors que le suivi des modifications était activé.
IsMoveToRevision { get; } Retours vrai si cet objet a été déplacé (inséré) dans Microsoft Word alors que le suivi des modifications était activé.
NextSibling { get; } Obtient le nœud suivant immédiatement ce nœud.
override NodeType { get; } Retours NodeType.SpecialChar .
ParentNode { get; } Obtient le parent immédiat de ce nœud.
ParentParagraph { get; } Récupère le parentParagraph de ce nœud.
PreviousSibling { get; } Obtient le nœud précédant immédiatement ce nœud.
Range { get; } Renvoie un Intervalle objet qui représente la partie d’un document contenue dans ce nœud.

Méthodes

Nom La description
override Accept(DocumentVisitor) Accepte un visiteur.
Clone(bool) Crée un doublon du nœud.
GetAncestor(NodeType) Obtient le premier ancêtre du spécifiéNodeType .
GetAncestor(Type) Obtient le premier ancêtre du type d’objet spécifié.
override GetText() Obtient le caractère spécial que ce nœud représente.
NextPreOrder(Node) Obtient le nœud suivant selon l’algorithme de traversée de l’arbre de pré-ordre.
PreviousPreOrder(Node) Obtient le nœud précédent selon l’algorithme de parcours de l’arbre de pré-ordre.
Remove() Se supprime du parent.
ToString(SaveFormat) Exporte le contenu du nœud dans une chaîne au format spécifié.
ToString(SaveOptions) Exporte le contenu du nœud dans une chaîne à l’aide des options d’enregistrement spécifiées.

Remarques

Un document Microsoft Word peut inclure un certain nombre de caractères spéciaux qui représentent des champs, des champs de formulaire, des formes, des objets OLE, des notes de bas de page, etc. Pour la liste de caractères spéciaux, voirControlChar.

Caractère spécial est un nœud en ligne et ne peut être qu’un enfant de Paragraphe.

Caractère spécial char est utilisé comme classe de base pour des classes plus spécifiques qui représentent des caractères spéciaux auxquels Aspose.Words fournit un accès par programmation. Le Caractère spécial La classe est également utilisée elle-même pour représenter un caractère spécial pour lequel Aspose.Words ne fournit pas d’accès programmatique détaillé.

Exemples

Montre comment utiliser une implémentation DocumentVisitor pour supprimer tout le contenu masqué d’un document.

{
    Document doc = new Document(MyDir + "Hidden content.docx");

    RemoveHiddenContentVisitor hiddenContentRemover = new RemoveHiddenContentVisitor();

    // Ci-dessous trois types de champs pouvant accepter un visiteur de document,
    // qui lui permettra de visiter le nœud acceptant, puis de parcourir ses nœuds enfants en profondeur d'abord.
    // 1 - Nœud Paragraphe :
    Paragraph para = (Paragraph) doc.GetChild(NodeType.Paragraph, 4, true);
    para.Accept(hiddenContentRemover);

    // 2 - Noeud Table :
    Table table = doc.FirstSection.Body.Tables[0];
    table.Accept(hiddenContentRemover);

    // 3 - Noeud document :
    doc.Accept(hiddenContentRemover);

    doc.Save(ArtifactsDir + "Font.RemoveHiddenContentFromDocument.docx");

/// <summary>
/// Supprime tous les nœuds visités marqués comme "contenu caché".
/// </summary>
public class RemoveHiddenContentVisitor : DocumentVisitor
{
    /// <summary>
    /// Appelé lorsqu'un nœud FieldStart est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitFieldStart(FieldStart fieldStart)
    {
        if (fieldStart.Font.Hidden)
            fieldStart.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un nœud FieldEnd est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        if (fieldEnd.Font.Hidden)
            fieldEnd.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un nœud FieldSeparator est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        if (fieldSeparator.Font.Hidden)
            fieldSeparator.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un noeud Run est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitRun(Run run)
    {
        if (run.Font.Hidden)
            run.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un nœud Paragraphe est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitParagraphStart(Paragraph paragraph)
    {
        if (paragraph.ParagraphBreakFont.Hidden)
            paragraph.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un FormField est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitFormField(FormField formField)
    {
        if (formField.Font.Hidden)
            formField.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un GroupShape est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitGroupShapeStart(GroupShape groupShape)
    {
        if (groupShape.Font.Hidden)
            groupShape.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un Shape est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitShapeStart(Shape shape)
    {
        if (shape.Font.Hidden)
            shape.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un commentaire est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitCommentStart(Comment comment)
    {
        if (comment.Font.Hidden)
            comment.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'une note de bas de page est rencontrée dans le document.
    /// </summary>
    public override VisitorAction VisitFootnoteStart(Footnote footnote)
    {
        if (footnote.Font.Hidden)
            footnote.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsqu'un SpecialCharacter est rencontré dans le document.
    /// </summary>
    public override VisitorAction VisitSpecialChar(SpecialChar specialChar)
    {
        if (specialChar.Font.Hidden)
            specialChar.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsque la visite d'un nœud Table est terminée dans le document.
    /// </summary>
    public override VisitorAction VisitTableEnd(Table table)
    {
        // Le contenu à l'intérieur des cellules du tableau peut avoir l'indicateur de contenu masqué, mais les tableaux eux-mêmes ne le peuvent pas.
        // Si ce tableau n'avait que du contenu caché, ce visiteur l'aurait tout supprimé,
        // et il n'y aurait plus de nœuds enfants.
        // Ainsi, nous pouvons également traiter le tableau lui-même comme un contenu caché et le supprimer.
        // Les tableaux qui sont vides mais qui n'ont pas de contenu caché auront des cellules avec des paragraphes vides à l'intérieur,
        // que ce visiteur ne supprimera pas.
        if (!table.HasChildNodes)
            table.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsque la visite d'un noeud Cellule est terminée dans le document.
    /// </summary>
    public override VisitorAction VisitCellEnd(Cell cell)
    {
        if (!cell.HasChildNodes && cell.ParentNode != null)
            cell.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Appelé lorsque la visite d'un nœud Row est terminée dans le document.
    /// </summary>
    public override VisitorAction VisitRowEnd(Row row)
    {
        if (!row.HasChildNodes && row.ParentNode != null)
            row.Remove();

        return VisitorAction.Continue;
    }
}

Voir également