SpecialChar

SpecialChar class

Basklass för specialtecken i dokumentet.

För att lära dig mer, besökAspose.Words Document Object Model (DOM) dokumentationsartikel.

public class SpecialChar : Inline

Egenskaper

namnBeskrivning
CustomNodeId { get; set; }Anger anpassad nodidentifierare.
virtual Document { get; }Hämtar dokumentet som denna nod tillhör.
Font { get; }Ger tillgång till teckensnittsformateringen för detta objekt.
virtual IsComposite { get; }ReturnerarSann om denna nod kan innehålla andra noder.
IsDeleteRevision { get; }Returnerar sant om detta objekt raderades i Microsoft Word medan ändringsspårning var aktiverad.
IsFormatRevision { get; }Returnerar sant om formateringen av objektet ändrades i Microsoft Word medan ändringsspårning var aktiverad.
IsInsertRevision { get; }Returnerar sant om det här objektet infogades i Microsoft Word medan ändringsspårning var aktiverad.
IsMoveFromRevision { get; }ReturnerarSann om det här objektet flyttades (borttogs) i Microsoft Word medan ändringsspårning var aktiverad.
IsMoveToRevision { get; }ReturnerarSann om detta objekt flyttades (infogades) i Microsoft Word medan ändringsspårning var aktiverad.
NextSibling { get; }Hämtar noden omedelbart efter denna nod.
override NodeType { get; }ReturnerarSpecialChar .
ParentNode { get; }Hämtar den omedelbara föräldern till denna nod.
ParentParagraph { get; }Hämtar föräldernParagraph av denna nod.
PreviousSibling { get; }Hämtar noden omedelbart före denna nod.
Range { get; }Returnerar enRange objekt som representerar den del av ett dokument som finns i denna nod.

Metoder

namnBeskrivning
override Accept(DocumentVisitor)Accepterar en besökare.
Clone(bool)Skapar en dubblett av noden.
GetAncestor(NodeType)Hämtar den första förfadern till den angivnaNodeType .
GetAncestor(Type)Hämtar den första förfadern till den angivna objekttypen.
override GetText()Får specialtecknet som denna nod representerar.
NextPreOrder(Node)Hämtar nästa nod enligt algoritmen för förbeställningsträdet.
PreviousPreOrder(Node)Hämtar föregående nod enligt algoritmen för förbeställningsträdet.
Remove()Tar bort sig själv från föräldern.
ToString(SaveFormat)Exporterar innehållet i noden till en sträng i angivet format.
ToString(SaveOptions)Exporterar innehållet i noden till en sträng med de angivna sparalternativen.

Anmärkningar

Ett Microsoft Word-dokument kan innehålla ett antal specialtecken som representerar fält, formulärfält, former, OLE-objekt, fotnoter etc. För listan med specialtecken, seControlChar.

SpecialCharär en inline-nod och kan bara vara ett barn tillParagraph.

SpecialChar char används som basklass för mer specifika classes som representerar specialtecken som Aspose.Words ger programmatisk åtkomst för. SpecialChar klass används också själv för att representera specialtecken som Aspose.Words inte ger detaljerad programmatisk åtkomst för.

Exempel

Visar hur man använder en DocumentVisitor-implementering för att ta bort allt dolt innehåll från ett dokument.

public void RemoveHiddenContentFromDocument()
{
    Document doc = new Document(MyDir + "Hidden content.docx");
    RemoveHiddenContentVisitor hiddenContentRemover = new RemoveHiddenContentVisitor();

    // Nedan finns tre typer av fält som kan acceptera en dokumentbesökare,
    // som gör det möjligt för den att besöka den accepterande noden och sedan korsa dess underordnade noder på ett djupt-först sätt.
    // 1 - Styckenod:
    Paragraph para = (Paragraph)doc.GetChild(NodeType.Paragraph, 4, true);
    para.Accept(hiddenContentRemover);

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

    // 3 - Dokumentnod:
    doc.Accept(hiddenContentRemover);

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

/// <summary>
/// Tar bort alla besökta noder markerade som "dolt innehåll".
/// </summary>
public class RemoveHiddenContentVisitor : DocumentVisitor
{
    /// <summary>
    /// Anropas när en FieldStart-nod påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitFieldStart(FieldStart fieldStart)
    {
        if (fieldStart.Font.Hidden)
            fieldStart.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en FieldEnd-nod påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        if (fieldEnd.Font.Hidden)
            fieldEnd.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en FieldSeparator-nod påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        if (fieldSeparator.Font.Hidden)
            fieldSeparator.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en körnod påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitRun(Run run)
    {
        if (run.Font.Hidden)
            run.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en Paragraph-nod påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitParagraphStart(Paragraph paragraph)
    {
        if (paragraph.ParagraphBreakFont.Hidden)
            paragraph.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när ett formulärfält påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitFormField(FormField formField)
    {
        if (formField.Font.Hidden)
            formField.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en GroupShape påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitGroupShapeStart(GroupShape groupShape)
    {
        if (groupShape.Font.Hidden)
            groupShape.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en Shape påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitShapeStart(Shape shape)
    {
        if (shape.Font.Hidden)
            shape.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en kommentar påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitCommentStart(Comment comment)
    {
        if (comment.Font.Hidden)
            comment.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en fotnot påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitFootnoteStart(Footnote footnote)
    {
        if (footnote.Font.Hidden)
            footnote.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när en specialtecken påträffas i dokumentet.
    /// </summary>
    public override VisitorAction VisitSpecialChar(SpecialChar specialChar)
    {
        if (specialChar.Font.Hidden)
            specialChar.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas vid besök av en Tabellnod avslutas i dokumentet.
    /// </summary>
    public override VisitorAction VisitTableEnd(Table table)
    {
        // Innehållet i tabellceller kan ha den dolda innehållsflaggan, men tabellerna själva kan inte.
        // Om denna tabell inte hade något annat än dolt innehåll, skulle den här besökaren ha tagit bort allt,
        // och det skulle inte finnas några barnnoder kvar.
        // Således kan vi också behandla själva tabellen som dolt innehåll och ta bort det.
        // Tabeller som är tomma men inte har dolt innehåll kommer att ha celler med tomma stycken inuti,
        // som den här besökaren inte kommer att ta bort.
        if (!table.HasChildNodes)
            table.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när besök av en cellnod avslutas i dokumentet.
    /// </summary>
    public override VisitorAction VisitCellEnd(Cell cell)
    {
        if (!cell.HasChildNodes && cell.ParentNode != null)
            cell.Remove();

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Anropas när besök av en radnod avslutas i dokumentet.
    /// </summary>
    public override VisitorAction VisitRowEnd(Row row)
    {
        if (!row.HasChildNodes && row.ParentNode != null)
            row.Remove();

        return VisitorAction.Continue;
    }
}

Se även