EndArtifact
PDF με ετικέτες, Προσβασιμότητα
Περιγραφή
Κλείνει την πιο πρόσφατα ανοιχτή περιοχή artifact, γράφοντας τελεστή EMC (End Marked Content) στο content stream της τρέχουσας σελίδας. Κάθε κλήση BeginArtifact πρέπει να ταιριάζει με ακριβώς μία κλήση EndArtifact.
Σύνταξη
Delphi
Function TPDFlib.EndArtifact: Integer;
ActiveX
Function PDFlib::EndArtifact() As Long
DLL
int DLEndArtifact(int InstanceID);
Τιμές επιστροφής
| 0 | Αποτυχία — δεν είναι ανοικτό έγγραφο ή δεν είναι επί του παρόντος ανοικτή περιοχή artifact. |
|---|---|
| 1 | Η περιοχή artifact έκλεισε με επιτυχία |
Παρατηρήσεις
Οι περιοχές artifact και τα στοιχεία δομής μοιράζονται την ίδια στοίβα marked-content για την τρέχουσα σελίδα. Το EndArtifact κλείνει την ανοιχτή κορυφαία περιοχή μόνο αν άνοιξε με BeginArtifact· μην το χρησιμοποιείτε ποτέ για να κλείσετε στοιχείο δομής που άνοιξε με BeginTag ή παραλλαγές του — για αυτά καλέστε EndTag
Περιοχές artifact μπορούν να εμφωλευτούν μέσα σε στοιχεία δομής όταν το artifact αναπαριστά διακοσμητικό γραφικό που οπτικά ανήκει στο δομικό περιεχόμενο. Δεν μπορούν όμως να περιέχουν στοιχεία δομής: οι PDF readers θα προειδοποιήσουν ή θα αρνηθούν να σεβαστούν δομή μέσα σε artifact
Τυπικοί υποτύποι artifact που δικαιολογούν ξεχωριστή περιοχή είναι headers σελίδων, footers, αριθμοί σελίδων, διακοσμητικά περιγράμματα, watermarks και εικόνες φόντου. Η σήμανσή τους ως artifacts τα κρατά έξω από τη σειρά ανάγνωσης που παρουσιάζει στους χρήστες η assistive technology
Παράδειγμα
// Running footer drawn once per page, as an artifact
PDF.BeginArtifact('Footer');
PDF.SetFontSize(8);
PDF.PrintText(50, 30, 'Annual Report 2026 — page ' + IntToStr(pageNo));
PDF.EndArtifact;
// Page header with the company logo, also an artifact
PDF.BeginArtifact('Header');
PDF.DrawImage(50, 800, 60, 30, logoHandle);
PDF.EndArtifact;