Open Source Python PDF Annotation Library
Δοκιμάστε αυτήν τη δωρεάν και ανοιχτού κώδικα βιβλιοθήκη Python για προσθήκη και εξαγωγή σχολιασμών από έγγραφα PDF.
Τι είναι το pypdf;
Το Pypdf είναι μια δωρεάν και ανοιχτού κώδικα βιβλιοθήκη python γνωστή για το ποικίλο σύνολο δυνατοτήτων της για το χειρισμό εγγράφων PDF σε περιβάλλον python. Αυτό το εργαλείο είναι πρακτικό για διάφορους χειρισμούς PDF, αλλά θα επικεντρωθούμε στις λειτουργίες που σχετίζονται με τον σχολιασμό σε αυτήν την ανασκόπηση.
Τα αξιοσημείωτα χαρακτηριστικά του pypdf που σχετίζονται με τους σχολιασμούς περιλαμβάνουν:
- Προσθήκη σχολιασμών σχήματος: Μπορούμε να σχεδιάσουμε σχήματα όπως γραμμές, ορθογώνια, ελλείψεις και πολύγωνα κ.λπ. σε συγκεκριμένες περιοχές των σελίδων PDF ως σχολιασμούς.
- Προσθήκη σχολιασμών κειμένου: Μπορούμε να προσθέσουμε σχολιασμούς κειμένου σε συγκεκριμένες θέσεις σελίδων PDF.
- Προσθήκη σχολιασμών συνδέσμου: Μπορείτε επίσης να προσθέσετε σχολιασμούς συνδέσμων (όπως υπερσύνδεσμος) σε έγγραφα PDF.
- Εξαγωγή σχολιασμών: Μπορούμε να επαναλάβουμε και να εξαγάγουμε πληροφορίες σχετικά με όλους τους σχολιασμούς σε ένα έγγραφο PDF χρησιμοποιώντας τη βιβλιοθήκη pypdf.
Στατιστικά GitHub
Ονομα: pypdfΓλώσσα: Python
Αστέρια: 8.9K
Πιρούνια: 1.4K
Αδεια: Other
Το αποθετήριο ενημερώθηκε τελευταία φορά στις 2025-04-05
Ξεκινώντας με το pypdf
Χρειάζεστε Python έκδοση 3.6.0 ή νεότερη για να εγκαταστήσετε και να χρησιμοποιήσετε το pypdf. Επομένως, πρώτα εγκαταστήστε το Python και, στη συνέχεια, χρησιμοποιήστε τις παρακάτω εντολές για να εγκαταστήσετε το pypdf στον υπολογιστή σας χρησιμοποιώντας pip και εικονικό περιβάλλον.
Προσθήκη σχολιασμού ορθογωνίου σε PDF
Ελέγξτε το παρακάτω απόσπασμα κώδικα για λεπτομέρειες:
# Import necessary modules from pypdf library | |
from pypdf import PdfReader, PdfWriter | |
from pypdf.annotations import Rectangle | |
# Read the PDF file using PdfReader | |
reader = PdfReader("documentprocessing.pdf") | |
# Get the first page of the PDF | |
page = reader.pages[0] | |
# Create a new PdfWriter object to write the modified PDF | |
writer = PdfWriter() | |
# Add the page from the original PDF to the new writer | |
writer.add_page(page) | |
# Define the rectangle annotation with coordinates (35, 690, 170, 720) | |
annotation = Rectangle(rect=(35, 690, 170, 720)) | |
# Add the rectangle annotation to the first page of the new PDF | |
writer.add_annotation(page_number=0, annotation=annotation) | |
# Write the modified PDF to a new file ("annotated-pdf.pdf") | |
with open("annotated-pdf.pdf", "wb") as fp: | |
writer.write(fp) |
Παραγωγή
Στο παρακάτω στιγμιότυπο οθόνης, μπορείτε να δείτε ότι το ορθογώνιο προστίθεται για να σχολιάσει τη λέξη Ανοιχτού κώδικα:
Προσθήκη σχολιασμού κειμένου σε PDF
Δημιουργούμε σχολιασμούς κειμένου χρησιμοποιώντας την κλάση Κείμενο από την ενότητα pypdf.annotations της βιβλιοθήκης pypdf. Μετά από αυτό, μπορούμε να χρησιμοποιήσουμε τη μέθοδο add_annotations της τάξης PDFWriter από τη βιβλιοθήκη pypdf για να προσθέσουμε σχολιασμούς στο PDF. Ο σχολιασμός κειμένου προστίθεται ως εικονίδιο που επεκτείνεται και εμφανίζει το κείμενο όταν κάνετε κλικ στο εικονίδιο. Ελέγξτε το παρακάτω απόσπασμα κώδικα για λεπτομέρειες:
# Import necessary classes and modules from PyPDF library | |
from pypdf import PdfReader, PdfWriter | |
from pypdf.annotations import Text | |
# Open the original PDF file for reading | |
reader = PdfReader("documentprocessing.pdf") | |
# Get the first page of the original PDF | |
page = reader.pages[0] | |
# Create a new PDF writer object | |
writer = PdfWriter() | |
# Add the first page of the original PDF to the new PDF | |
writer.add_page(page) | |
# Create a Text annotation with specified text and rectangle coordinates | |
annotation = Text( | |
text="Hi there,\nWelcome to DocumentProcessing.com", | |
rect=(180, 705, 240, 755) | |
) | |
# Add the annotation to the first page of the new PDF | |
writer.add_annotation(page_number=0, annotation=annotation) | |
# Open the new PDF file for writing in binary mode | |
with open("annotated.pdf", "wb") as fp: | |
# Write the content of the new PDF to the file | |
writer.write(fp) |
Παραγωγή
Όπως μπορούμε να δούμε στην παρακάτω εκπομπή οθόνης, ο παραπάνω κώδικας προσθέτει ένα εικονίδιο στο PDF σε καθορισμένη θέση που εμφανίζει σχολιασμό κειμένου όταν γίνεται κλικ στο εικονίδιο:
Προσθήκη σχολιασμού συνδέσμου σε PDF
Οι σχολιασμοί συνδέσμων δημιουργούνται χρησιμοποιώντας την κλάση Σύνδεσμος από την ενότητα pypdf.annotations. Ωστόσο, το πρόβλημα με τον σχολιασμό του συνδέσμου είναι ότι απλώς προσθέτει τον σύνδεσμο αλλά δεν είναι ορατός. Για να αντιμετωπίσουμε αυτό το ζήτημα, θα ενσωματώσουμε ένα ορθογώνιο χρησιμοποιώντας την κλάση Rectangle από την ενότητα pypdf.annotations όπως εξηγήσαμε προηγουμένως. Με αυτόν τον τρόπο, ο χρήστης μπορεί να προσδιορίσει οπτικά την τοποθεσία όπου προστίθεται ο σχολιασμός του συνδέσμου. Ελέγξτε το παρακάτω απόσπασμα κώδικα για καλύτερη κατανόηση:
# Import necessary classes and modules from the pypdf library | |
from pypdf import PdfReader, PdfWriter | |
from pypdf.annotations import Link, Rectangle | |
# Read the existing PDF file named "documentprocessing.pdf" | |
reader = PdfReader("documentprocessing.pdf") | |
# Get the first page of the PDF | |
page = reader.pages[0] | |
# Create a new PDF writer | |
writer = PdfWriter() | |
# Add the read page to the new PDF writer | |
writer.add_page(page) | |
# Create a Link annotation | |
annotation = Link( | |
# Provide the URL | |
url="https://example.com/", | |
#Provide the size and coordinates for the link annotation | |
rect=(50, 600, 200, 650), | |
) | |
# Create a Rectangle annotation | |
annotation2 = Rectangle( | |
rect=(50, 600, 200, 650), | |
) | |
# Add the Link and Rectangle annotations to the first page of the new PDF | |
writer.add_annotation(page_number=0, annotation=annotation) | |
writer.add_annotation(page_number=0, annotation=annotation2) | |
# Write the annotated PDF to a new file named "link-annotated-pdf.pdf" | |
with open("link-annotated-pdf.pdf", "wb") as fp: | |
writer.write(fp) |
Παραγωγή
Όπως μπορούμε να δούμε στην έξοδο, το ορθογώνιο χρησιμεύει ως περιοχή που, όταν πατηθεί, ανακατευθύνει τον χρήστη στον καθορισμένο σύνδεσμο.
Εξαγωγή σχολιασμών από PDF
Μπορούμε να εξαγάγουμε σχολιασμούς από ένα PDF χρησιμοποιώντας τη βιβλιοθήκη pypdf. Επαναλαμβάνουμε όλους τους σχολιασμούς σε σελίδες PDF και, στη συνέχεια, χρησιμοποιούμε τη μέθοδο get_object για να λάβουμε το αντικείμενο σχολιασμού. Στη συνέχεια εξάγουμε σχετικές πληροφορίες από το αντικείμενο. Ελέγξτε το παρακάτω απόσπασμα κώδικα για λεπτομέρειες:
# Import necessary modules from pypdf library | |
from pypdf import PdfReader | |
# Create a PdfReader object to read the PDF file | |
reader = PdfReader("documentprocessing.pdf") | |
# Iterate through all pages in the PDF | |
for page in reader.pages: | |
# Check if the page contains annotations ("/Annots" key) | |
if "/Annots" in page: | |
# Iterate through each annotation on the page | |
for annot in page["/Annots"]: | |
# Get the annotation object | |
obj = annot.get_object() | |
# Extract relevant information from the annotation object | |
# - "subtype" represents the type of annotation (e.g., text, link) | |
# - "location" represents the rectangle coordinates of the annotation | |
annotation = {"subtype": obj["/Subtype"], "location": obj["/Rect"]} | |
# Print the extracted annotation information | |
print(annotation) |
Παραγωγή
Όπως μπορούμε να δούμε στο παρακάτω στιγμιότυπο οθόνης, το πρόγραμμα έχει επιστρέψει τον τύπο σχολιασμού και τις συντεταγμένες των σχολιασμών στο έγγραφο PDF:
Σύναψη
Το Pypdf δίνει τη δυνατότητα στους προγραμματιστές της Python να προσθέτουν διαφορετικούς τύπους σχολιασμών σε αρχεία PDF και να έχουν πρόσβαση σε βασικές πληροφορίες σχετικά με τους σχολιασμούς, όπως ο τύπος και η τοποθεσία τους, καθιστώντας το μια πρακτική επιλογή για εργασίες που απαιτούν προσθήκη σχολιασμών και εξαγωγή δεδομένων σχετικά με σχολιασμούς.