Πώς να εργαστείτε με κείμενο στο .NET

Πώς να εργαστείτε με κείμενο στο .NET

Αυτός ο οδηγός δείχνει πώς να εργάζεστε με κείμενο στο Aspose.Words FOSS για .NET: μορφοποίηση της γραμματοσειράς ενός τμήματος, μορφοποίηση μιας παραγράφου, εύρεση και αντικατάσταση κειμένου με Range, προσθήκη σχολίου και μετατροπή μιας παραγράφου σε στοιχείο λίστας. Το Aspose.Words FOSS για .NET είναι διαθέσιμο μέσω NuGet ή με κατασκευή από τον πηγαίο κώδικα.

Οδηγός βήμα προς βήμα

Βήμα 1: Λάβετε τη βιβλιοθήκη

Κλωνοποιήστε το αποθετήριο και κάντε build Aspose.Words.sln σε διαμόρφωση Release, μετά προσθέστε μια αναφορά έργου στο Aspose.Words.csproj από το δικό σας έργο .NET, όπως περιγράφεται στο Οδηγός εγκατάστασης. Προσθέστε using Aspose.Words; στην κορυφή οποιουδήποτε αρχείου που εργάζεται με κείμενο.


Βήμα 2: Μορφοποίηση της γραμματοσειράς ενός τμήματος

Ένα Run είναι ένα τμήμα κειμένου που μοιράζεται ένα σύνολο μορφοποίησης· η ιδιότητα Text του περιέχει το περιεχόμενο απλού κειμένου και η ιδιότητα Font του (ένα αντικείμενο Font) περιλαμβάνει μορφοποίηση σε επίπεδο χαρακτήρα — Name, Size, Bold, Italic, Underline, Color, HighlightColor, Subscript/Superscript, και StrikeThrough μεταξύ άλλων. Το Font.ClearFormatting() επαναφέρει ένα τμήμα στις προεπιλογές. Τα τμήματα μιας παραγράφου είναι διαθέσιμα μέσω της ιδιότητας Runs, ένα RunCollection. Ο καθορισμός ιδιοτήτων γραμματοσειράς στο DocumentBuilder.Font πριν από τη γραφή νέου κειμένου είναι συνήθως πιο απλός από τη μορφοποίηση ξεχωριστών αντικειμένων Run μετά το γεγονός.


Βήμα 3: Μορφοποίηση μιας Παραγράφου

Paragraph.ParagraphFormat (ένα αντικείμενο ParagraphFormat) ελέγχει τη διάταξη σε επίπεδο παραγράφου: Alignment, εσοχές (LeftIndent, RightIndent, FirstLineIndent), διαστήματα (SpaceBefore, SpaceAfter, LineSpacing, LineSpacingRule), και τη συμπεριφορά σελιδοποίησης (KeepTogether, KeepWithNext, PageBreakBefore, WidowControl). ParagraphFormat.ClearFormatting() επαναφέρει αυτά στις προεπιλογές, και Paragraph.JoinRunsWithSameFormatting() συγχωνεύει διαδοχικά τμήματα που έχουν ταυτόμορφη μορφοποίηση — χρήσιμο μετά από σειρά προγραμματιστικών επεξεργασιών που αφήνουν μια παράγραφο με περισσότερα τμήματα από το απαραίτητο.


Βήμα 4: Αναζήτηση και Αντικατάσταση Κειμένου με Εύρος

Κάθε κόμβος που περιέχει περιεχόμενο — ένα Document, Section, Paragraph ή Run — εκθέτει ένα Range. Range.Text επιστρέφει το απλό κείμενο όλων των στοιχείων μέσα σε αυτό το εύρος, και Range.Replace(pattern, replacement) εκτελεί μια αναζήτηση-και-αντικατάσταση περιορισμένη μόνο σε αυτό το εύρος: καλέστε το στο Range ενός Paragraph για να αλλάξετε το κείμενο μόνο σε μία παράγραφο, ή στο Document.Range για να αναζητήσετε σε ολόκληρο το έγγραφο. Range.Delete() αφαιρεί εντελώς το περιεχόμενο του εύρους.


Βήμα 5: Προσθήκη Σχολίου

Δημιουργήστε ένα Comment με new Comment(doc, author, initial, dateTime), ορίστε το κείμενό του με SetText(text), έπειτα εισάγετέ το στο δέντρο όπως οποιονδήποτε άλλο κόμβο. Comment.AddReply(author, initial, dateTime, text) προσθέτει μια αλληλουχία απαντήσεων — η οποία είναι επίσης ένα Comment — και τα RemoveReply(reply) / RemoveAllReplies() αφαιρούν τις απαντήσεις. Τα σχόλια ενός εγγράφου συλλέγονται σε ένα CommentCollection.


Βήμα 6: Μετατροπή Παραγράφου σε Στοιχείο Λίστας

Paragraph.ListFormat (ένα αντικείμενο ListFormat) αναφέρει και ελέγχει αν μια παράγραφος συμμετέχει σε λίστα: τα IsListItem και ListLevelNumber αναφέρουν την τρέχουσα κατάσταση. ApplyBulletDefault() μετατρέπει την παράγραφο σε προεπιλεγμένο κουκίδιο στοιχείο και το ApplyNumberDefault() σε προεπιλεγμένο αριθμημένο στοιχείο· τα ListIndent() / ListOutdent() αλλάζουν το επίπεδο εμφώλευσής της, και το RemoveNumbers() την επιστρέφει σε απλή παράγραφο.

Κοινά προβλήματα και διορθώσεις

Διαμόρφωση ενός RunΗ γραμματοσειρά του ’s δεν αλλάζει το διπλανό κείμενο. Το διπλανό κείμενο είναι διαφορετικό Run με το δικό του Font instance. Εντοπίστε και μορφοποιήστε κάθε επηρεασμένο Run, ή ορίστε τη μορφοποίηση σε DocumentBuilder.Font πριν γράψετε νέο κείμενο.

Range.Replace αλλάζει κείμενο εκτός της προοριζόμενης περιοχής. Replace κλήθηκε στο Document.Range αντί για το εύρος ενός πιο στενού κόμβου. Καλέστε το στο συγκεκριμένο Paragraph or Section του οποίου το κείμενο πρέπει να αλλάξει.

Μια παράγραφος φαίνεται σαν στοιχείο λίστας με κουκίδες αλλά IsListItem is false. Η κουκίδα είναι κείμενο που πληκτρολογήθηκε, όχι πραγματική μορφοποίηση λίστας. Εφαρμόστε το με ListFormat.ApplyBulletDefault() αντ’ αυτού.

Το έγγραφο καταλήγει με πολύ περισσότερα Run κόμβους από ό,τι αναμενόταν. Επαναλαμβανόμενες μικρές προγραμματιστικές επεμβάσεις χωρίζουν τμήματα χωρίς να τα επαναενώσουν. Καλέστε Paragraph.JoinRunsWithSameFormatting() μετά από μια δέσμη επεμβάσεων.

Συχνές ερωτήσεις

Ποια είναι η διαφορά μεταξύ Run και Paragraph;

Ένα Run είναι ένα τμήμα κειμένου που μοιράζεται ένα σύνολο μορφοποίησης χαρακτήρων (Font). Ένα Paragraph είναι ο σύνθετος κόμβος που περιέχει μία ή περισσότερες ακολουθίες καθώς και μορφοποίηση επιπέδου παραγράφου (ParagraphFormat).

Πώς μπορώ να διαβάσω όλο το κείμενο σε ένα έγγραφο ή σε μία ενότητα;

Διαβάστε την ιδιότητα Text του Range αυτού του κόμβου — document.Range.Text ή section.Range.Text.

Πώς μπορώ να αντικαταστήσω κείμενο μόνο μέσα σε μία παράγραφο, όχι σε ολόκληρο το έγγραφο;

Καλέστε το Replace(pattern, replacement) στο Range του Paragraph, όχι στο Document.Range.

Πώς μπορώ να απαντήσω σε ένα υπάρχον σχόλιο;

Καλέστε το Comment.AddReply(author, initial, dateTime, text) στην αρχική παρουσία του Comment.

Πώς μπορώ να μετατρέψω ένα στοιχείο αριθμημένης λίστας ξανά σε απλή παράγραφο;

Καλέστε το RemoveNumbers() στο ListFormat αυτής της παραγράφου.

Δείτε επίσης

 Ελληνικά