Λογική δομή
Λογική δομή
Τα Tagged PDFs περιλαμβάνουν ένα λογικό δομικό δέντρο που καθορίζει το έγγραφο του Σεμάντικη ιεραρχία — παραγράφους, τίτλους, πίνακες, αριθμούς και λίστες. Το 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), Λίστα, ListItem, Τίτλος, BlockQuote, κώδικας
- ΕΝΤΥΡΙΑ: Σπάνιο, σύνδεση, αναφορά, εικόνα, φόρμουλα
- Ομάδα: Τμήμα, Άρθρο, Μέρος, Μερική
Συμβουλές και βέλτιστες πρακτικές
- Πάντα ορίστε
TitleκαιLanguageΟ ΣΕTaggedContentΓια την συμμόρφωση PDF/UA. - Κατασκευάστε το δομικό δέντρο πάνω προς τα κάτω: δημιουργήστε στοιχεία, στη συνέχεια προσθέστε παιδιά.
- Χρησιμοποιήστε
SetAlternativeTextΣτοιχεία για την προσβασιμότητα του αναγνώστη οθόνης. - Σημειώστε τα τραπέζια με
THead,TBody,TFootΓια την κατάλληλη σημαντική πίνακα. - Εγκρίθηκε η συμμόρφωση PDF/UA με το
PdfFormatConversionOptions(Δείτε τον οδηγό μετατροπής).
κοινά ζητήματα
| Θέμα | Αιτία | ΦΙΛΕΞΗ |
|---|---|---|
| Εξέλιξη PDF/UA | Το δέντρο που λείπει από τα απαραίτητα στοιχεία | Βεβαιωθείτε ότι όλα τα περιεχόμενα έχουν αντίστοιχα στοιχεία δομής |
| Η εντολή της επικεφαλής είναι λάθος | H2 εμφανίζεται πριν από H1 | Ακολουθήστε την ακολουθία της ιεραρχίας επικεφαλής |
| Η εικόνα δεν έχει κείμενο | SetAlternativeText Δεν καλείται | Πάντα να παρέχει κείμενο για εικόνες |
| Το τραπέζι που δεν αναγνωρίζεται από τον αναγνώστη οθόνης | Η έλλειψη δομής THead/TBody | Χρησιμοποιήστε το πλήρες API δομής πίνακα |
FAQ
Τι είναι ένα ετικέτα PDF;?
Ένα ετικέτα PDF περιλαμβάνει ένα λογικό δομικό δέντρο που χαρτογραφεί οπτικό περιεχόμενο σε σημαντικά στοιχεία (επίπεδα, παραγράφους, πίνακες), επιτρέποντας εργαλεία προσβασιμότητας και επαναφόρτωση περιεχομένου.
Το PDF είναι το ίδιο με το PDF/UA;?
Το PDF/UA είναι ένα πρότυπο που απαιτεί ετικέτα και πρόσθετες κανόνες προσβασιμότητας. τα Tagged PDFs αποτελούν προϋπόθεση για την συμμόρφωση με το PDF / UA.
Μπορώ να βάλω ένα υπάρχον PDF;?
Η TaggedContent Το API λειτουργεί καλύτερα με έγγραφα που δημιουργούνται από το scratch. υφιστάμενες PDFs, ελέγξτε το δομικό δέντρο μέσω Document.TaggedContent.
Συνοπτική αναφορά API
| Κλάση / Μέθοδος | Περιγραφή |
|---|---|
TaggedContent | Προς το παρόν, η λειτουργία της Λογικής Στρατηγικής |
TaggedContent.SetTitle | Ορισμός του τίτλου εγγράφου για προσβασιμότητα |
TaggedContent.SetLanguage | Εισάγετε τη γλώσσα του εγγράφου |
ITaggedContent | Επαφάνεια με εργοστάσια μέθοδοι για όλους τους τύπους στοιχείων |
StructureElement | Κλάση βάσης για όλα τα στοιχεία της δομής |
StructureElement.AppendChild | Προσθέστε ένα παιδικό στοιχείο στο δέντρο |
StructureElement.SetText | Εισάγετε το περιεχόμενο ενός στοιχείου |
TableElement | Διαθέσιμο στοιχείο δομής πίνακα |
TableElement.CreateTHead | Δημιουργία του τμήματος τίτλου πίνακα |
TableElement.CreateTBody | Δημιουργία του τμήματος σώματος πίνακα |
TableTRElement | Ετικέτες Τάπος Στάδιο |
TableTRElement.CreateTD | Προσθέστε ένα κελί δεδομένων |
TableTRElement.CreateTH | Προσθέστε ένα κελί επικεφαλής |
IllustrationElement | Φωτογραφία / Εικόνα Σύνθεσης |
IllustrationElement.SetImage | Προσθέστε μια εικόνα στην εικονογράφηση |