Τι είναι το COS;
Το COS (Carousel Object Syntax) είναι η σύνταξη που χρησιμοποιείται από PDF και αρχεία FDF, όπως τεκμηριώνεται διεξοδικά στο ISO 32000-2:2020. Όταν εξερευνάτε τα εσωτερικά ενός αρχείου PDF, αυτό που συναντάτε είναι το COS.
«Carousel» ήταν το κωδικό όνομα του Acrobat 1.0 όταν αυτή η σύνταξη παρουσιάστηκε για πρώτη φορά.
Οι οκτώ τύποι αντικειμένων COS
Το COS είναι μια μικρή σύνταξη και σχεδόν τα πάντα σε ένα PDF είναι ένας από οκτώ βασικούς τύπους αντικειμένων. Μόλις μπορείτε να τους αναγνωρίσετε, το εσωτερικό ενός PDF παύει να φαίνεται σαν θόρυβος:
- Λογικές τιμές και αριθμοί, γραμμένοι απλά.
- Συμβολοσειρές, σε στρογγυλές αγκύλες ή ως δεκαεξαδικά σε γωνιακές αγκύλες.
- Ονόματα, γραμμένα με μια κάθετο μπροστά, όπως \/Type ή \/Page.
- Πίνακες, σε τετράγωνες αγκύλες, και λεξικά, σε διπλές γωνιακές αγκύλες.
- Ροές, ένα λεξικό ακολουθούμενο από ένα μπλοκ ακατέργαστων ή συμπιεσμένων bytes.
- Το κενό (null) αντικείμενο.
Το περιεχόμενο σελίδας, οι γραμματοσειρές, οι εικόνες και μεταδεδομένα όλα δημιουργούνται από αυτά τα δομικά στοιχεία. Μια ροή περιέχει το μεγαλύτερο μέρος των δεδομένων ενός αρχείου, επειδή περιλαμβάνει συμπιεσμένες περιγραφές σελίδων και ενσωματωμένες εικόνες.
Πώς εντοπίζονται ξανά τα αντικείμενα
Τα αντικείμενα είναι αριθμημένα και ένας πίνακας διασταυρούμενων αναφορών στο τέλος του αρχείου καταγράφει τη μετατόπιση byte του καθενός. Ένας αναγνώστης ξεκινά από το τέλος, διαβάζει το trailer, βρίσκει τον πίνακα διασταυρούμενων αναφορών και στη συνέχεια μεταβαίνει απευθείας στο αντικείμενο που χρειάζεται. Γι' αυτό ένα PDF μπορεί να ανοιχτεί χωρίς να αναλυθεί από την αρχή μέχρι το τέλος. Νεότερες εκδόσεις μπορεί να αποθηκεύουν αυτόν τον πίνακα ως συμπιεσμένο object stream αντί γι' αυτό, και μια σταδιακή ενημέρωση (incremental update) προσθέτει έναν δεύτερο πίνακα αντί να ξαναγράφει τον πρώτο.