EndTag
PDF με ετικέτες, Προσβασιμότητα
Περιγραφή
Κλείνει το πιο πρόσφατα ανοιχτό στοιχείο δομής στη στοίβα tags, γράφοντας τελεστή EMC (End Marked Content) στο content stream της τρέχουσας σελίδας και βγάζοντας το στοιχείο από τη στοίβα. Κάθε κλήση BeginTag, BeginTagEx ή BeginTagEx2 πρέπει να ταιριάζει με ακριβώς μία κλήση EndTag πριν την αποθήκευση ή την επόμενη σελίδα.
Σύνταξη
Delphi
Function TPDFlib.EndTag: Integer;
ActiveX
Function PDFlib::EndTag() As Long
DLL
int DLEndTag(int InstanceID);
Τιμές επιστροφής
| 0 | Αποτυχία — δεν είναι ανοικτό κανένα έγγραφο ή η στοίβα ετικετών είναι κενή (η EndTag κλήθηκε περισσότερες φορές από τις αντίστοιχες συναρτήσεις Begin*) |
|---|---|
| 1 | Το στοιχείο δομής έκλεισε επιτυχώς |
Παρατηρήσεις
Τα tags πρέπει να εμφωλεύονται καθαρά. Κάθε EndTag κλείνει το πιο εσωτερικό ανοικτό στοιχείο δομής· η σειρά κλεισίματος είναι αυστηρά αντίστροφη του ανοίγματος, όπως εμφωλεύονται τα συνηθισμένα block στοιχεία σε HTML ή XML.
Αν ένα έγγραφο αποθηκευτεί με ένα ή περισσότερα στοιχεία δομής ακόμα ανοιχτά, το GetPDFUADiagnostics αναφέρει το πλήθος με τον κωδικό STRUCT-UNCLOSED. Τα μή κλεισμένα στοιχεία λείπουν από το αποθηκευμένο δέντρο δομής, οπότε οι αντίστοιχες ενότητες marked content σε κάθε σελίδα δεν έχουν λογικό γονέα — η υποβοηθούμενη τεχνολογία θα τις προσπεράσει
Μην κλείνετε με EndTag περιοχή artifact που άνοιξε το BeginArtifact· για αυτό καλέστε EndArtifact. Artifacts και στοιχεία δομής ζουν σε ανεξάρτητες στοίβες marked content.
Παράδειγμα
// Nested structure: a section with a heading and two paragraphs
PDF.BeginTag('Sect', '', '');
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Introduction');
PDF.EndTag; // H1
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 720, 'First paragraph of the introduction.');
PDF.EndTag; // P
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 690, 'Second paragraph follows in the same section.');
PDF.EndTag; // P
PDF.EndTag; // SectΔείτε επίσης
BeginTag, BeginTagEx, BeginTagEx2, EndArtifact, GetPDFUADiagnostics