Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Τα υδατογραφήματα είναι ένας σαφής, αλλά λεπτός τρόπος αναγνώρισης του κατόχου ενός συγκεκριμένου αρχείου. Ενώ οι άνθρωποι μπορεί να τα βρίσκουν ενοχλητικά, εξυπηρετούν τον σκοπό τους με χάρη.

Με ένα υδατογράφημα, μπορείτε όχι μόνο να προστατεύσετε τα αρχεία σας, αλλά και να προσθέσετε περιγραφικό κείμενο, τοποθεσία, χρόνο δημιουργίας και πολλά άλλα. Έτσι, την επόμενη φορά που θα παραδώσετε την εργασία ή το χαρτί ημερολογίου σας, φροντίστε να προσθέσετε ένα υδατογράφημα χρησιμοποιώντας αυτό το απλό πρόγραμμα Python.

Τι είναι η ενότητα ReportLab;

Για να προσθέσετε ένα υδατογράφημα σε ένα αρχείο PDF, θα χρειαστείτε μια καλή βιβλιοθήκη όπως η ενότητα ReportLab. Είναι μια βιβλιοθήκη ανοιχτού κώδικα που σας επιτρέπει να δημιουργείτε αρχεία PDF, καθώς και να προσθέτετε γραφήματα, δεδομένα και γραφικά σε αυτά. Αυτή η ενότητα σάς βοηθά να δημιουργείτε δυναμικά PDf, να μετατρέπετε αρχεία XML σε PDF και να δημιουργείτε αναφορές. Για να εγκαταστήσετε το ReportLab στο σύστημά σας, ανοίξτε ένα τερματικό και πληκτρολογήστε:

instagram viewer

κουκούτσι εγκαθιστώ εργαστήριο αναφορών

Αυτό εγκαθιστά το ReportLab στο περιβάλλον Python σας.

Τι είναι η ενότητα PyPDF2;

Το PyPDF2 είναι μια δημοφιλής βιβλιοθήκη που μπορείτε να χρησιμοποιήσετε για να εκτελέσετε μια ποικιλία χρήσιμων λειτουργιών PDF. Αυτές περιλαμβάνουν περικοπή, συγχώνευση, διαχωρισμό, περιστροφή, μετατροπή, προσθήκη δεδομένων, σφράγιση και υδατοσήμανση. Μπορείτε επίσης να κρυπτογραφήσετε και να αποκρυπτογραφήσετε, να εξαγάγετε κείμενο, εικόνες και μεταδεδομένα και να διαβάσετε ή να προσθέσετε σχολιασμούς PDF. Για να εγκαταστήσετε το PyPDF2 στο σύστημά σας, ανοίξτε ένα τερματικό και πληκτρολογήστε:

κουκούτσι εγκαθιστώ PyPDF2

Αυτό εγκαθιστά το PyPDF2 στο περιβάλλον Python σας.

Πώς να προσθέσετε το επιθυμητό υδατογράφημα σε PDF χρησιμοποιώντας Python

Η προσθήκη ενός υδατογραφήματος σε ένα αρχείο PDF χρησιμοποιώντας Python είναι αρκετά απλή. Θα δημιουργήσετε έναν καμβά και θα σχεδιάσετε το υδατογράφημα κειμένου χρησιμοποιώντας το αγαπημένο σας χρώμα και κατεύθυνση και, στη συνέχεια, θα το αποθηκεύσετε ως PDF.

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

Ξεκινήστε το πρόγραμμά σας με εισαγωγή καμβάς από pdfgen, που βρίσκεται στο εργαστήριο αναφορών μονάδα μέτρησης. Η διεπαφή pdfgen ενεργεί στο χαμηλότερο επίπεδο για τη δημιουργία αρχείων PDF. Μπορείτε να το απεικονίσετε σαν να ζωγραφίζετε ένα σχέδιο και δομή εγγράφου σε μια σελίδα. Η κλάση καμβά παρέχει τις λειτουργίες που απαιτούνται για να γίνει αυτό.

Μπορείτε να σκεφτείτε τον καμβά σαν ένα φύλλο απλού χαρτιού με καρτεσιανές συντεταγμένες. Το σημείο προέλευσης (0,0) βρίσκεται στην κάτω αριστερή γωνία. Οι τιμές των συντεταγμένων x και y αυξάνονται καθώς τα σημεία απομακρύνονται από την αρχή, προς τα πάνω και προς τα δεξιά.

Από τη βιβλιοθήκη ReportLab, εισάγετε ίντσα, χρώμα, και Μέγεθος σελίδας. Το πρόγραμμα θα χρησιμοποιεί ίντσες ως μονάδα μέτρησης. Υπάρχουν δύο μορφές χρωμάτων διαθέσιμες στο ReportLab: το RGB μοντέλο, και το CYMK μοντέλο. Το RGB είναι προτιμότερο, αλλά αν θέλετε περισσότερο έλεγχο στο επίπεδο των χρωμάτων που εμφανίζονται όταν εκτυπώνετε το PDF, μπορείτε να επιλέξετε το CYMK.

Όπως υποδηλώνει το όνομα, το μέγεθος της σελίδας έχει οριστεί σε Α4. Επιπλέον, εισαγάγετε το PdfFileReader και PdfFileWriter από PyPDF2 για να εκτελέσετε λειτουργίες ανάγνωσης και εγγραφής σε αρχεία PDF.

από reportlab.pdfgen εισαγωγή καμβάς
από reportlab.lib.units εισαγωγή ίντσα
από reportlab.lib εισαγωγή χρωματιστά
από reportlab.lib.pagesizes εισαγωγή Α4
από PyPDF2 εισαγωγή PdfFileReader, PdfFileWriter

Ορίστε μια συνάρτηση που ονομάζεται makeWatermark() για να δημιουργήσετε το αρχείο PDF μιας σελίδας υδατογραφήματος που θα χρησιμοποιήσετε αργότερα για να εφαρμόσετε στις σελίδες του επιθυμητού εγγράφου. Ζητήστε από τον χρήστη να εισαγάγει το κείμενο του υδατογραφήματος χρησιμοποιώντας τη δήλωση εισαγωγής.

Χρησιμοποιήστε τον καμβά για να δημιουργήσετε μια περιοχή σχεδίασης με το όνομα watermark.pdf και μέγεθος σελίδας A4. ο μεταφράζω() η συνάρτηση μετακινεί την αρχή στην επάνω αριστερή γωνία.

Ορίστε το αρχείο του κειμένου σε γκρι με αδιαφάνεια 0,6. σε μια κλίμακα 0-1, το 0 είναι το πιο διαφανές και το 1 είναι το πιο αδιαφανές. Ορίστε το στυλ γραμματοσειράς σε Helvetica με μέγεθος 50. Εφαρμόστε μια περιστροφή 45 μοιρών αριστερόστροφα. Περάστε τις συντεταγμένες x και y μαζί με το κείμενο για να το σχεδιάσετε στον καμβά και να το αποθηκεύσετε χρησιμοποιώντας τη συνάρτηση save().

defmakeWatermark():
κείμενο = εισαγωγή("Εισαγάγετε το κείμενο του υδατογραφήματος εδώ:")
pdf = καμβάς. Καμβάς("υδατογράφημα.pdf", μέγεθος σελίδας=A4)
pdf.μεταφράζω(ίντσα, ίντσα)
pdf.setFillColor (colors.grey, alpha=0,6)
pdf.setFont("Helvetica", 50)
pdf.γυρίζω(45)
pdf.drawCentredString(400, 100, κείμενο)
pdf.αποθηκεύσετε()

Το αρχείο PDF υδατογραφήματος που δημιουργεί η παραπάνω συνάρτηση μοιάζει με αυτό:

Ορίστε μια συνάρτηση με όνομα makepdf() για να υδατογραφήσετε τις σελίδες του PDF. Εισαγάγετε το όνομα του αρχείου που θέλετε να υδατογραφήσετε, συμπεριλαμβανομένου οποιουδήποτε .pdf επέκταση. Αρχικοποιήστε μια μεταβλητή για να αποθηκεύσετε το όνομα του υδατογραφημένου PDF. Ανοίξτε και τα δύο αρχεία στη δυαδική λειτουργία ανάγνωσης.

Χρησιμοποιήστε το PdfFileReader() για να δημιουργήσετε ένα αντικείμενο που αντιπροσωπεύει κάθε PDF. Χρησιμοποιήστε το getPage() λειτουργία για λήψη της πρώτης και μοναδικής σελίδας του υδατογραφημένου PDF.

defmakepdf():
pdf_file = input("Αρχείο PDF: ")
υδατογράφημα = 'υδατογράφημα.pdf'
συγχωνεύτηκε = "Watermarked.pdf"

μεΆνοιξε(pdf_αρχείο, "rb") όπως και input_file, Άνοιξε(αφανής σφραγίδα χάρτου, "rb") όπως και watermark_file:
input_pdf = PdfFileReader (input_file)
watermark_pdf = PdfFileReader (watermark_file)
watermark_page = watermark_pdf.getPage (0)

Τώρα είναι ώρα να συγχωνεύσετε τη σελίδα υδατογραφήματος με κάθε σελίδα στο PDF στόχου.

Δημιουργήστε ένα αντικείμενο της κλάσης PdfFileWriter για χρήση για τη δημιουργία του PDF εξόδου. Ορίστε έναν βρόχο που επαναλαμβάνεται σε κάθε σελίδα στο επιθυμητό PDF. Η συνάρτηση getNumPages() επιστρέφει τον συνολικό αριθμό σελίδων σε ένα PDF. Χρησιμοποιήστε τη συνάρτηση getPage() για να λάβετε τη σελίδα και να τη συγχωνεύσετε με τη σελίδα υδατογραφήματος που ήταν αποθηκευμένη νωρίτερα.

Χρησιμοποιήστε το αντικείμενο PdfFileWriter για να προσθέσετε κάθε συγχωνευμένη σελίδα στο τελικό PDF. Αφού δημιουργήσετε το PDF εξόδου, ανοίξτε το αρχείο εξόδου σε δυαδική λειτουργία εγγραφής και χρησιμοποιήστε τη συνάρτηση εγγραφής() για να αποθηκεύσετε το υδατογραφημένο pdf σε αυτό το αρχείο.

 έξοδος = PdfFileWriter()

ΓιαΕγώσεεύρος(input_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
pdf_page.mergePage(υδατογράφημα_σελίδα)
παραγωγή.προσθήκη σελίδας(pdf_page)

μεΆνοιξε(συγχωνεύτηκαν, "wb") όπως και merged_file:
παραγωγή.γράφω(merged_file)

Τέλος, καλέστε και τις δύο συναρτήσεις—makeWatermark() και makepdf()—για να δημιουργήσετε το υδατογραφημένο αρχείο PDF:

makeWatermark()
makepdf()

Το κείμενο με υδατογραφημένο PDF που δημιουργήθηκε χρησιμοποιώντας το παραπάνω πρόγραμμα Python μοιάζει με αυτό:

Επιπλέον, μπορείτε να ακολουθήσετε αυτήν τη μέθοδο πέντε βημάτων για να δημιουργήστε και προσθέστε ένα υδατογράφημα σε οποιαδήποτε εικόνα χρησιμοποιώντας το Canva. Μπορείτε επίσης να χρησιμοποιήσετε τεχνικές για να υδατογραφήσετε τα βίντεό σας σε λίγα μόνο λεπτά.

Μπορεί να υπάρχουν φορές που προσθέσατε ένα υδατογράφημα κατά λάθος και θέλετε να το αφαιρέσετε. Μπορείτε να χρησιμοποιήσετε ηλεκτρονικά εργαλεία όπως Soda PDF, Microsoft Word, Google Docs και PDF Zorro δωρεάν. Για εικόνες, μπορείτε να εξερευνήσετε εργαλεία όπως το Wondershare PixCut, το Inpaint, το Aiseesoft, το Apowersoft και το Cutout.pro.

Για δωρεάν αφαίρεση υδατογραφήματος σε βίντεο, χρησιμοποιήστε τα Apowersoft, 123apps, PickFrom Blur και BeeCut.

Ωστόσο, θυμηθείτε να μην χρησιμοποιείτε υλικό που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδεια του κατόχου.