PyMuPDF
Βιβλιοθήκη Python ανοιχτού κώδικα για διαχείριση μεταδεδομένων PDF
Δοκιμάστε τη βιβλιοθήκη PyMuPDF, Free & Open Source Python για πρόσβαση και τροποποίηση μεταδεδομένων εγγράφων PDF.
Τι είναι το PyMuPDF;
Το PyMuPDF, γνωστό και ως Fitz, είναι μια βιβλιοθήκη Python ανοιχτού κώδικα που προσφέρει πολλές δυνατότητες όπως ανάλυση αρχείων PDF, διαχωρισμός και συγχώνευση αρχείων PDF κ.λπ., αλλά σε αυτήν τη σελίδα θα συζητήσουμε μόνο πώς οι προγραμματιστές της Python μπορούν να χρησιμοποιήσουν τη βιβλιοθήκη PyMuPDF για να χειριστούν εργασίες που σχετίζονται με τα μεταδεδομένα PDF, όπως:
- Ανάγνωση μεταδεδομένων PDF: Το PyMuPDF υποστηρίζει την πρόσβαση σε μεταδεδομένα εγγράφων PDF που περιέχουν πληροφορίες όπως συγγραφέας, τίτλος, θέμα και ημερομηνία δημιουργίας κ.λπ.
- Τροποποίηση μεταδεδομένων PDF: Η βιβλιοθήκη επιτρέπει επίσης την τροποποίηση μεταδεδομένων εγγράφων PDF.
- Ανάγνωση μεταδεδομένων XML: Τα έγγραφα PDF περιέχουν επίσης μεταδεδομένα XML τα οποία δεν περιορίζονται σε τυπικές ιδιότητες εγγράφου όπως συγγραφέας, τίτλος κ.λπ. και μπορούν να έχουν επιπλέον μεταδεδομένα. Με το PyMuPDF, οι προγραμματιστές μπορούν επίσης να το διαβάσουν.
- Αλλαγή μεταδεδομένων XML: Οι προγραμματιστές μπορούν επίσης να αλλάξουν τα μεταδεδομένα XML των αρχείων PDF χρησιμοποιώντας τη βιβλιοθήκη PyMuPDF.
Ξεκινώντας με το PyMuPDF
Χρειάζεστε Python έκδοση 3.8.0 ή νεότερη για να εγκαταστήσετε και να χρησιμοποιήσετε το PyMuPDF. Επομένως, πρώτα εγκαταστήστε το Python και, στη συνέχεια, χρησιμοποιήστε τις παρακάτω εντολές για να εγκαταστήσετε το PyMuPDF στον υπολογιστή σας χρησιμοποιώντας το pip και εικονικό περιβάλλον.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Windows
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Διαβάστε τα Μεταδεδομένα PDF
Μπορούμε να διαβάσουμε τα μεταδεδομένα ενός PDF χρησιμοποιώντας το μέλος μεταδεδομένα της βιβλιοθήκης PyMuPDF που περιέχει το πλήρες περιεχόμενο μεταδεδομένων του εγγράφου. Το παρακάτω απόσπασμα κώδικα δείχνει πώς μπορείτε να αποκτήσετε τα μεταδεδομένα ενός PDF από το μέλος μεταδεδομένα:
Παραγωγή
Το παρακάτω στιγμιότυπο οθόνης δείχνει τα ανακτημένα μεταδεδομένα από ένα PDF χρησιμοποιώντας το PyMuPDF:
Επεξεργασία μεταδεδομένων PDF
Μπορούμε να επεξεργαστούμε τα μεταδεδομένα των PDF χρησιμοποιώντας τη βιβλιοθήκη PyMuPDF περνώντας ένα λεξικό που περιέχει τα πεδία που θέλουμε να αλλάξουμε μαζί με τις νέες τιμές τους στη μέθοδο set_metadata όπως φαίνεται στο παρακάτω απόσπασμα κώδικα:
Διαβάστε XML Μεταδεδομένα PDF
Μπορούμε να ανακτήσουμε μεταδεδομένα XML ενός PDF χρησιμοποιώντας τη βιβλιοθήκη PyMuPDF. Χρησιμοποιούμε τη μέθοδο get_xml_metadata η οποία επιστρέφει όλα τα μεταδεδομένα XML όπως φαίνεται στο παρακάτω απόσπασμα κώδικα:
Παραγωγή
Το παρακάτω στιγμιότυπο οθόνης δείχνει τα μεταδεδομένα XML που ανακτήθηκαν από ένα PDF χρησιμοποιώντας το PyMuPDF:
Αλλαγή XML μεταδεδομένων αρχείων PDF
Μπορούμε να ορίσουμε ή να αλλάξουμε τα μεταδεδομένα XML ενός PDF χρησιμοποιώντας τη μέθοδο set_xml_metadata της βιβλιοθήκης PyMuPDF. Δεν είναι τόσο απλό όσο η αντικατάσταση των μεταδεδομένων σε επίπεδο εγγράφου, επειδή το set_xml_metadata θα δεχτεί οποιαδήποτε συμβολοσειρά και θα αντικαταστήσει τα πλήρη μεταδεδομένα XML με τη συμβολοσειρά που του έχει διαβιβαστεί.
Προκειμένου να αποφευχθεί η ακούσια διαγραφή οποιωνδήποτε πληροφοριών μεταδεδομένων, λαμβάνουμε πρώτα τα πλήρη μεταδεδομένα XML ως συμβολοσειρά χρησιμοποιώντας το get_xml_metadata και, στη συνέχεια, χρησιμοποιούμε τη μέθοδο συμβολοσειράς replace για να αντικαταστήσουμε την επιθυμητή πληροφορίες, τέλος, περνάμε το πλήρες XML με τα αλλαγμένα πεδία στη μέθοδο set_xml_metadata που αλλάζει όλα τα μεταδεδομένα XML του PDF. Ελέγξτε το παρακάτω απόσπασμα κώδικα για λεπτομέρειες:
συμπέρασμα
Συνοπτικά, το PyMuPDF είναι ένα εξαιρετικό εργαλείο για εργασίες που σχετίζονται με χειρισμό μεταδεδομένων. Μπορούμε εύκολα να ανακτήσουμε και να αλλάξουμε τις πληροφορίες μεταδεδομένων των PDF. Ωστόσο, μια αξιοσημείωτη αδυναμία έγκειται στη μέθοδο set_xml_metadata. Αυτή η μέθοδος δέχεται κάθε συμβολοσειρά που της έχει περάσει και αντικαθιστά την προηγούμενη XML με αυτήν, η οποία μπορεί να προκαλέσει ακούσια απώλεια πληροφοριών για να αποφευχθεί αυτό το ζήτημα, οι προγραμματιστές πρέπει να εφαρμόσουν τη λογική τους για να διασφαλίσουν τις σωστές τροποποιήσεις στα μεταδεδομένα XML.