Πεδία Εξισώσεων και Τύπων
Πεδία Εξισώσεων και Τύπων
Αυτός ο οδηγός δείχνει πώς να εργαστείτε με το FieldAdvance and FieldSymbol κλάσεις πεδίων στο Aspose.Words FOSS για .NET, που υλοποιούν τα ADVANCE and SYMBOL πεδία του Word. Και οι δύο κλάσεις προέρχονται από Field και υλοποιούν IFieldCodeTokenInfoProvider; για το βασικό Field μοντέλο αντικειμένων, δείτε το Εργασία με Πεδία οδηγό.
Μετατοπισμός Κειμένου με FieldAdvance
FieldAdvance υλοποιεί το πεδίο ADVANCE, το οποίο μετατοπίζει το κείμενο που ακολουθεί χωρίς να εισάγει ορατούς χαρακτήρες. Τα DownOffset, UpOffset, LeftOffset και RightOffset (όλα string) μετακινούν το επόμενο κείμενο κατά έναν αριθμό σημείων προς εκείνη την κατεύθυνση. Τα HorizontalPosition και VerticalPosition (επίσης string) μεταφέρουν το επόμενο κείμενο σε απόλυτη θέση που μετράται από την αριστερή άκρη της στήλης, του πλαισίου ή του πλαισίου κειμένου, και από την άνω άκρη της σελίδας, αντίστοιχα.
Εισαγωγή Ειδικών Χαρακτήρων με FieldSymbol
FieldSymbol υλοποιεί το πεδίο SYMBOL, το οποίο εισάγει έναν μοναδικό χαρακτήρα με βάση το σημείο κώδικα. Το CharacterCode (string) παρέχει το σημείο κώδικα του χαρακτήρα σε δεκαδική ή δεκαεξαδική μορφή. Τα IsAnsi, IsUnicode και IsShiftJis (όλα bool) επιλέγουν πώς ερμηνεύεται το CharacterCode. Τα FontName και FontSize (string) ορίζουν τη γραμματοσειρά που χρησιμοποιείται για την απόδοση του ανακτημένου χαρακτήρα, και το DontAffectsLineSpacing (bool) ελέγχει αν ο εισαχθείς χαρακτήρας επηρεάζει το διάστιχο της παραγράφου.
Συμβουλές και Καλές Πρακτικές
- Ορίστε μόνο ένα από τα
IsAnsi,IsUnicodeήIsShiftJisσε έναFieldSymbolγια να αποφύγετε μια ασαφή ερμηνεία τουCharacterCode. - Οι ιδιότητες μετατόπισης του
FieldAdvanceείναιstring, όχι αριθμητικού τύπου — περάστε τις τιμές σημείων ως συμβολοσειρές όταν ορίζετε ταDownOffset,UpOffset,LeftOffset,RightOffset,HorizontalPositionήVerticalPosition. - Ορίστε το
FieldSymbol.FontNameσε μια γραμματοσειρά που περιέχει πραγματικά το γλυφίδα στοCharacterCode, αλλιώς ο εμφανιζόμενος χαρακτήρας μπορεί να υποκατασταθεί με έναν placeholder για ελλειπούσα γλυφίδα. - Καλέστε το
Update()μετά την αλλαγή οποιασδήποτε ιδιότητας στοFieldAdvanceήFieldSymbolώστε τοResult/DisplayResultτου πεδίου να αντικατοπτρίζει την αλλαγή. - Χρησιμοποιήστε το
DontAffectsLineSpacingόταν εισάγετε έναν ψηλό ή ασυνήθιστο χαρακτήρα συμβόλου που δεν πρέπει να τεντώσει το ύψος της γύρω γραμμής.
Κοινά προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
Το πεδίο ADVANCE δεν μετακινεί το κείμενο όπως αναμένεται | Ορίστηκε η λανθασμένη ιδιότητα offset ή μια τιμή έμεινε στην προεπιλογή | Ορίστε τη συγκεκριμένη ιδιότητα DownOffset / UpOffset / LeftOffset / RightOffset (σχετική) ή HorizontalPosition / VerticalPosition (απόλυτη) που ταιριάζει στην προβλεπόμενη μετακίνηση |
Το πεδίο SYMBOL εμφανίζει τον λανθασμένο χαρακτήρα | Το CharacterCode ερμηνεύτηκε με λανθασμένη κωδικοποίηση | Ορίστε ακριβώς ένα από τα IsAnsi, IsUnicode ή IsShiftJis ώστε να ταιριάζει με το πώς δημιουργήθηκε το CharacterCode |
| Ο χαρακτήρας του συμβόλου εμφανίζεται ως πλαίσιο με έλλειψη γλύφου | FontName δεν περιέχει γλύφο για το CharacterCode | Ορίστε το FontName σε μια γραμματοσειρά που είναι γνωστή ότι περιλαμβάνει αυτόν τον χαρακτήρα |
FAQ
Τι κάνει το πεδίο ADVANCE;
Μετατοπίζει το κείμενο που ακολουθεί, είτε με σχετική μετατόπιση (DownOffset, UpOffset, LeftOffset, RightOffset) είτε με απόλυτη θέση (HorizontalPosition, VerticalPosition), χωρίς να εισάγει ορατούς χαρακτήρες.
Πώς μπορώ να εισάγω έναν συγκεκριμένο χαρακτήρα Unicode με το FieldSymbol;
Ορίστε το CharacterCode στο σημείο κώδικα του χαρακτήρα, ορίστε το IsUnicode = true, και προαιρετικά ορίστε το FontName / FontSize για την απόδοση του γλύφου.
Είναι οι τιμές μετατόπισης του FieldAdvance αριθμοί ή συμβολοσειρές;
Αυτές είναι ιδιότητες του string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), που ταιριάζουν με τη μορφή ακατέργαστου ορίσματος κώδικα πεδίου.
Η εισαγωγή ενός χαρακτήρα SYMBOL επηρεάζει το διάστιχο;
Ορίστε το DontAffectsLineSpacing σε true για να αποτρέψετε τον εισαχθέντα χαρακτήρα από το να επηρεάζει το ύψος γραμμής της παραγράφου.
API Reference Περίληψη
| Κλάση/Μέθοδος | Περιγραφή |
|---|---|
FieldAdvance | Εφαρμόζει το πεδίο ADVANCE; επανατοποθετεί το επόμενο κείμενο χωρίς εισαγωγή χαρακτήρων |
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset | Σχετικές μετατοπίσεις σημείων που εφαρμόζονται στο επόμενο κείμενο |
FieldAdvance.HorizontalPosition / VerticalPosition | Απόλυτη θέση σημείου που εφαρμόζεται στο παρακάτω κείμενο |
FieldSymbol | Υλοποιεί το πεδίο SYMBOL; εισάγει έναν χαρακτήρα με κωδικό σημείο |
FieldSymbol.CharacterCode | Το σημείο κώδικα του χαρακτήρα, σε δεκαδική ή δεκαεξαδική μορφή |
FieldSymbol.IsAnsi / IsUnicode / IsShiftJis | Επιλέγει πώς ερμηνεύεται το CharacterCode |
FieldSymbol.FontName / FontSize | Γραμματοσειρά που χρησιμοποιείται για την απόδοση του ανακτηθέντος χαρακτήρα |
FieldSymbol.DontAffectsLineSpacing | Ελέγχει αν ο εισαχθείς χαρακτήρας επηρεάζει το διάστιχο της παραγράφου |