Λογική Δομή

Λογική Δομή

Λογική Δομή

Τα Tagged PDFs περιλαμβάνουν ένα λογικό δέντρο δομής που ορίζει την σημασιολογική ιεραρχία του εγγράφου — παραγράφους, επικεφαλίδες, πίνακες, εικόνες και λίστες. Το Aspose.PDF FOSS για .NET παρέχει το TaggedContent API για τη δημιουργία και την επιθεώρηση αυτής της δομής, η οποία είναι ουσιώδης για τη συμμόρφωση με την προσβασιμότητα PDF/UA.


Πρόσβαση σε ετικετοποιημένο περιεχόμενο

using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");

Δημιουργία στοιχείων δομής

ITaggedContent παρέχει μεθόδους κατασκευής για κάθε τυπικό τύπο στοιχείου δομής. Τα στοιχεία συναρμολογούνται σε ένα δέντρο καλώντας το AppendChild.

var root = tagged.RootElement;

var heading = tagged.CreateHeaderElement(1);
heading.SetText("Chapter 1");
root.AppendChild(heading);

var paragraph = tagged.CreateParagraphElement();
paragraph.SetText("This is the first paragraph.");
root.AppendChild(paragraph);

Δομημένοι πίνακες

TableElement δημιουργεί προσβάσιμους πίνακες με ενότητες κεφαλίδας, σώματος και υποσέλιδου.

var table = tagged.CreateTableElement();
root.AppendChild(table);

var thead = table.CreateTHead();
var headerRow = thead.CreateTR();
headerRow.CreateTH().SetText("Name");
headerRow.CreateTH().SetText("Value");

var tbody = table.CreateTBody();
var dataRow = tbody.CreateTR();
dataRow.CreateTD().SetText("Width");
dataRow.CreateTD().SetText("612");

Εικονογραφήσεις και σχήματα

IllustrationElement περιβάλλει τις εικόνες στο δέντρο δομής.

var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);

Τύποι στοιχείων δομής

Το API υποστηρίζει το πλήρες σύνολο των τύπων στοιχείων δομής PDF:

  • Επίπεδο μπλοκ: Παράγραφος, Επικεφαλίδα (H1-H6), Λίστα, Στοιχείο λίστας, Πίνακας, Παράθεση, Κώδικας
  • Ενσωματωμένο: Απόσπασμα, Σύνδεσμος, Σχόλιο, Σχήμα, Τύπος
  • Ομαδοποίηση: Διαίρεση, Άρθρο, Ενότητα, Μέρος

Συμβουλές και βέλτιστες πρακτικές

  • Πάντα ορίστε Title και Language στο TaggedContent για συμμόρφωση PDF/UA.
  • Δημιουργήστε το δέντρο δομής από πάνω προς τα κάτω: δημιουργήστε στοιχεία, στη συνέχεια προσθέστε παιδιά.
  • Χρησιμοποιήστε SetAlternativeText στα στοιχεία figure για προσβασιμότητα με αναγνώστη οθόνης.
  • Επισήμανση πινάκων με THead, TBody, TFoot για σωστή σημασιολογία πινάκων.
  • Επικυρώστε τη συμμόρφωση PDF/UA με PdfFormatConversionOptions (δείτε τον οδηγό Μετατροπής).

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

IssueCauseFix
Η επικύρωση PDF/UA αποτυγχάνειΤο δέντρο δομής λείπουν τα απαιτούμενα στοιχείαΒεβαιωθείτε ότι όλο το περιεχόμενο έχει αντίστοιχα στοιχεία δομής
Η σειρά των επικεφαλίδων είναι λανθασμένηΤο H2 εμφανίζεται πριν το H1Ακολουθήστε τη διαδοχική ιεραρχία επικεφαλίδων
Η εικόνα δεν έχει κείμενο altSetAlternativeText δεν κλήθηκεΠάντα παρέχετε κείμενο alt για τις εικονογραφήσεις
Ο πίνακας δεν αναγνωρίζεται από τον αναγνώστη οθόνηςΛείπει η δομή THead/TBodyΧρησιμοποιήστε το πλήρες API δομής πίνακα

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

Τι είναι ένα tagged PDF;

Ένα ετικετοποιημένο PDF περιλαμβάνει ένα λογικό δέντρο δομής που αντιστοιχίζει το οπτικό περιεχόμενο σε σημασιολογικά στοιχεία (επικεφαλίδες, παραγράφους, πίνακες), επιτρέποντας στα εργαλεία προσβασιμότητας και την επαναρροή του περιεχομένου.

Είναι το επισημασμένο PDF το ίδιο με το PDF/UA;

Το PDF/UA είναι ένα πρότυπο που απαιτεί ετικετοποίηση συν πρόσθετους κανόνες προσβασιμότητας.
Τα ετικετοποιημένα PDF είναι προαπαιτούμενο για τη συμμόρφωση με το PDF/UA.

Μπορώ να προσθέσω ετικέτες σε ένα υπάρχον PDF;

Το TaggedContent API λειτουργεί καλύτερα με έγγραφα που δημιουργούνται από την αρχή. Για υπάρχοντα PDF, εξετάστε το δέντρο δομής μέσω Document.TaggedContent.


Περίληψη Αναφοράς API

Class / MethodDescription
TaggedContentΣημείο εισόδου για λειτουργίες λογικής δομής
TaggedContent.SetTitleΟρισμός του τίτλου του εγγράφου για προσβασιμότητα
TaggedContent.SetLanguageΟρισμός της γλώσσας του εγγράφου
ITaggedContentΔιεπαφή με μεθόδους κατασκευής για όλους τους τύπους στοιχείων
StructureElementΒασική κλάση για όλα τα στοιχεία δομής
StructureElement.AppendChildΠροσθήκη στοιχείου-παιδιού στο δέντρο
StructureElement.SetTextΟρισμός του κειμενικού περιεχομένου ενός στοιχείου
TableElementΣτοιχείο δομής πίνακα με προσβασιμότητα
TableElement.CreateTHeadΔημιουργία της ενότητας κεφαλίδας πίνακα
TableElement.CreateTBodyΔημιουργία της ενότητας σώματος πίνακα
TableTRElementΣτοιχείο γραμμής πίνακα
TableTRElement.CreateTDΠροσθήκη κελιού δεδομένων
TableTRElement.CreateTHΠροσθήκη κελιού κεφαλίδας
IllustrationElementΣτοιχείο δομής εικόνας/εικονογραφήματος
IllustrationElement.SetImageΕπισύναψη εικόνας στην εικονογράφηση

Δείτε επίσης

 Ελληνικά