Δομικά στοιχεία

Κατασκευαστικά Στοιχεία

Αυτός ο οδηγός δείχνει πώς να διαβάζετε και να τροποποιείτε τα επαναχρησιμοποιήσιμα μπλοκ περιεχομένου που αποθηκεύονται στο γλωσσάρι ενός εγγράφου με το Aspose.Words FOSS για .NET. Η βιβλιοθήκη εκθέτει AutoText καταχωρήσεις, σελίδες εξωφύλλου, κεφαλίδες, υποσέλιδα και παρόμοιο προεπιλεγμένο περιεχόμενο μέσω του Document.GlossaryDocument και του μοντέλου αντικειμένων BuildingBlock/BuildingBlockCollection.


Το Έγγραφο Γλωσσάρι

Κάθε Document διαθέτει ένα GlossaryDocument — προσβάσιμο μέσω Document.GlossaryDocument — το οποίο είναι αυτό καθαυτό μια υποκατηγορία του DocumentBase που κρατά τα μπλοκ κατασκευής. Η ιδιότητα BuildingBlocks του επιστρέφει ένα BuildingBlockCollection, με τα FirstBuildingBlock/LastBuildingBlock να παρέχουν γρήγορη πρόσβαση στα άκρα της λίστας. Αναζητήστε ένα συγκεκριμένο μπλοκ κατασκευής με το GetBuildingBlock(gallery, category, name), ταιριάζοντας το BuildingBlockGallery, τη συμβολοσειρά κατηγορίας και το όνομα μαζί.


Δομή Μπλοκ Κατασκευής

BuildingBlock είναι ένα CompositeNode, έτσι διατηρεί το δικό του δέντρο περιεχομένου — Sections (ένα SectionCollection), FirstSection και LastSection — με τον ίδιο τρόπο που ένα Document διατηρεί ενότητες. Οι ιδιότητες μεταδεδομένων του το αναγνωρίζουν και το ταξινομούν: Name, Guid, Description, Category, Gallery (ένα BuildingBlockGallery — AutoText, CoverPage, Headers, Footers, Tables, Watermarks, και δεκάδες ακόμη προεπιλεγμένες γκαλερί), Type (ένα BuildingBlockType), και Behavior (ένα BuildingBlockBehavior των Content, Paragraph ή Page) που ελέγχει πώς το περιεχόμενό του συγχωνεύεται σε ένα έγγραφο όταν εισάγεται.


Διαχείριση της Συλλογής Μπλοκ Κατασκευής

BuildingBlockCollection υποστηρίζει πλήρη επεξεργασία συλλογής: Add(node), Insert(index, node), Remove(node), RemoveAt(index), Clear(), Contains(node) και IndexOf(node), μαζί με ToArray() και GetEnumerator() για ανάγνωση. Επειδή είναι ένα NodeCollection, τα δομικά στοιχεία μπορούν να δημιουργηθούν, κλωνοποιηθούν και μετακινηθούν χρησιμοποιώντας τις ίδιες API κόμβων όπως οποιοδήποτε άλλο μέρος του δέντρου εγγράφου.


Δομικά Στοιχεία Κειμένου Συμπλήρωσης

Οι ετικέτες δομημένου εγγράφου μπορούν να αναφέρονται σε ένα δομικό στοιχείο ως περιεχόμενο συμπλήρωσης: StructuredDocumentTag.Placeholder και StructuredDocumentTagRangeStart.Placeholder επιστρέφουν και τα δύο το BuildingBlock που εμφανίζεται όταν η ετικέτα είναι κενή, μέσω της κοινόχρηστης ιδιότητας IStructuredDocumentTag.Placeholder.


Συμβουλές και Καλές Πρακτικές

  • Ταιριάξτε προσεκτικά τα τρία επιχειρήματα του GetBuildingBlock(gallery, category, name) — το ίδιο όνομα μπορεί να υπάρχει σε διαφορετικές γκαλερί ή κατηγορίες.
  • Χρησιμοποιήστε το BuildingBlockGallery για να φιλτράρετε το είδος του επαναχρησιμοποιήσιμου περιεχομένου που αναζητάτε (AutoText, CoverPage, Tables, Watermarks, κ.λπ.) αντί να σαρώσετε κάθε δομικό στοιχείο μόνο με βάση το όνομα.
  • Το BuildingBlockBehavior καθορίζει πώς το εισαχθέν περιεχόμενο συγχωνεύεται με το περιβάλλον έγγραφο (Content, Paragraph ή Page) — ελέγξτε το πριν υποθέσετε ότι ένα δομικό στοιχείο θα εισαχθεί όπως περιμένετε.
  • Δεδομένου ότι το BuildingBlock είναι ένα CompositeNode, αντιμετωπίστε το όπως οποιοδήποτε άλλο υποδέντρο κόμβου όταν δημιουργείτε ή επεξεργάζεστε το περιεχόμενό του — AppendChild, InsertAfter και παρόμοιες μεθόδους κόμβου ισχύουν.

Κοινά προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
GetBuildingBlock() δεν επιστρέφει τίποταΗ γκαλερί, η κατηγορία ή το όνομα δεν ταιριάζει ακριβώς με κάποιο υπάρχον building blockΑπαριθμήστε GlossaryDocument.BuildingBlocks για να βρείτε τον ακριβή συνδυασμό Gallery/Category/Name
Το περιεχόμενο του εισαχθέντος building block συγχωνεύεται απροσδόκηταBehavior (Content/Paragraph/Page) δεν λογαριάζεταιΕλέγξτε το BuildingBlock.Behavior πριν την εισαγωγή για να καταλάβετε πώς θα συγχωνευθεί
Η θέση κράτησης ετικέτας δομημένου εγγράφου δεν εμφανίζει το αναμενόμενο περιεχόμενοΤο Placeholder δείχνει σε διαφορετικό BuildingBlock από ό,τι υποτέθηκεΔιαβάστε το StructuredDocumentTag.Placeholder για να επιβεβαιώσετε ποιο δομικό στοιχείο αναφέρεται στην πραγματικότητα

FAQ

Πού αποθηκεύονται οι δομικοί μπλοκ σε ένα έγγραφο;

Στο GlossaryDocument του εγγράφου, προσβάσιμο μέσω Document.GlossaryDocument, του οποίου η ιδιότητα BuildingBlocks είναι ένα BuildingBlockCollection.

Πώς μπορώ να βρω ένα συγκεκριμένο δομικό μπλοκ, όπως μια καταχώρηση AutoText;

Κλήστε το GlossaryDocument.GetBuildingBlock(gallery, category, name) με το αντίστοιχο BuildingBlockGallery, κατηγορία και όνομα.

Μπορώ να προσθέσω νέα δομικά μπλοκ προγραμματιστικά;

Ναι — το BuildingBlockCollection υποστηρίζει Add(node) και Insert(index, node) επειδή είναι ένα NodeCollection.

Τι ελέγχει το BuildingBlockBehavior;

Πώς συγχωνεύεται το περιεχόμενο του μπλοκ κατασκευής στο έγγραφο όταν εισάγεται — ως Content, ένα ολόκληρο Paragraph, ή ένα ολόκληρο Page.

Πώς σχετίζεται ένα μπλοκ κατασκευής με το κείμενο κράτησης θέσης μιας ετικέτας δομημένου εγγράφου;

StructuredDocumentTag.Placeholder (και StructuredDocumentTagRangeStart.Placeholder) επιστρέφουν το BuildingBlock που παρέχει το περιεχόμενο κράτησης θέσης ενός SDT όταν είναι κενό.


API Reference Περίληψη

Κλάση / ΜέθοδοςΠεριγραφή
Document.GlossaryDocumentΤο GlossaryDocument του εγγράφου, που περιέχει όλα τα δομικά στοιχεία
GlossaryDocument.BuildingBlocksBuildingBlockCollection κάθε δομικού μπλοκ
GlossaryDocument.GetBuildingBlock()Αναζητά ένα δομικό μπλοκ ανά γκαλερί, κατηγορία και όνομα
BuildingBlockΈνα CompositeNode με Name, Gallery, Category, Behavior, Type, Sections
BuildingBlockCollectionAdd(), Insert(), Remove(), Clear(), Contains(), IndexOf()
BuildingBlockGallery / BuildingBlockType / BuildingBlockBehaviorEnums που ταξινομούν ένα δομικό στοιχείο
StructuredDocumentTag.PlaceholderΤο BuildingBlock που χρησιμοποιείται ως περιεχόμενο κράτησης θέσης του SDT

Δείτε επίσης

 Ελληνικά