Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Wasserzeichen sind eine klare, aber subtile Möglichkeit, den Eigentümer einer bestimmten Datei zu identifizieren. Während die Leute sie als störend empfinden, erfüllen sie ihren Zweck anmutig.

Mit einem Wasserzeichen können Sie nicht nur Ihre Dateien schützen, sondern auch beschreibenden Text, Ort, Erstellungszeit und mehr hinzufügen. Wenn Sie also das nächste Mal Ihre Hausarbeit oder Ihre Tagebucharbeit abgeben, fügen Sie mit diesem einfachen Python-Programm unbedingt ein Wasserzeichen hinzu.

Was ist das ReportLab-Modul?

Um einer PDF-Datei ein Wasserzeichen hinzuzufügen, benötigen Sie eine gute Bibliothek wie das ReportLab-Modul. Es ist eine Open-Source-Bibliothek, mit der Sie PDFs erstellen und ihnen Diagramme, Daten und Grafiken hinzufügen können. Dieses Modul hilft Ihnen, dynamische PDFs zu generieren, XML-Dateien in PDFs zu konvertieren und Berichte zu erstellen. Um ReportLab auf Ihrem System zu installieren, öffnen Sie ein Terminal und geben Sie Folgendes ein:

instagram viewer

Pip Installieren Berichtslabor

Dadurch wird ReportLab in Ihrer Python-Umgebung installiert.

Was ist das PyPDF2-Modul?

PyPDF2 ist eine beliebte Bibliothek, mit der Sie eine Vielzahl nützlicher PDF-Vorgänge ausführen können. Dazu gehören Zuschneiden, Zusammenführen, Teilen, Drehen, Transformieren, Hinzufügen von Daten, Stempeln und Wasserzeichen. Sie können auch verschlüsseln und entschlüsseln, Text, Bilder und Metadaten extrahieren und PDF-Anmerkungen lesen oder hinzufügen. Um PyPDF2 in Ihrem System zu installieren, öffnen Sie ein Terminal und geben Sie Folgendes ein:

Pip Installieren PyPDF2

Dadurch wird PyPDF2 in Ihrer Python-Umgebung installiert.

So fügen Sie das gewünschte Wasserzeichen mit Python zu PDF hinzu

Das Hinzufügen eines Wasserzeichens zu einer PDF-Datei mit Python ist ziemlich einfach. Sie werden eine Leinwand erstellen und das Textwasserzeichen mit Ihrer bevorzugten Farbe und Richtung zeichnen und es dann als PDF speichern.

Nach der Generierung dieses einseitigen Wasserzeichendesigns können Sie beide PDFs öffnen und Seite für Seite zusammenführen. Voilà, Ihr mit Wasserzeichen versehenes PDF ist fertig.

Beginnen Sie Ihr Programm mit dem Importieren Leinwand aus pdfgen, liegt in den Berichtslabor Modul. Die pdfgen-Schnittstelle fungiert auf der untersten Ebene, um PDFs zu generieren. Sie können es sich vorstellen, wie Sie ein Dokumentdesign und eine Struktur auf einer Seite malen. Die Canvas-Klasse stellt die dafür erforderlichen Operationen bereit.

Sie können sich die Leinwand als ein Blatt Normalpapier mit kartesischen Koordinaten vorstellen. Der Ursprungspunkt (0,0) befindet sich in der unteren linken Ecke. Die Werte der x- und y-Koordinaten nehmen zu, wenn sich die Punkte vom Ursprung weg, nach oben und nach rechts bewegen.

Importieren Sie aus der ReportLab-Bibliothek Zoll, Farbe, Und Seitengröße. Das Programm verwendet Zoll als Maßeinheit. Unter ReportLab stehen zwei Farbformate zur Verfügung: das RGB Modell und die CYMK Modell. RGB ist vorzuziehen, aber wenn Sie mehr Kontrolle über die beim Drucken der PDF-Datei erscheinenden Farben wünschen, können Sie sich stattdessen für CYMK entscheiden.

Wie der Name schon sagt, wird die Größe der Seite festgelegt auf A4. Importieren Sie außerdem die PdfFileReader Und PdfFileWriter aus PyPDF2 um Lese- und Schreibvorgänge an PDF-Dateien durchzuführen.

aus reportlab.pdfgen importieren Leinwand
aus reportlab.lib.units importieren Zoll
aus reportlab.lib importieren Farben
aus reportlab.lib.pagesizes importieren A4
aus PyPDF2 importieren PdfFileReader, PdfFileWriter

Definieren Sie eine aufgerufene Funktion makeWatermark() um die einseitige Wasserzeichen-PDF-Datei zu erstellen, die Sie später verwenden, um sie auf die Seiten des gewünschten Dokuments aufzubringen. Bitten Sie den Benutzer, den Text des Wasserzeichens unter Verwendung der Eingabeanweisung einzugeben.

Verwenden Sie die Leinwand, um eine Zeichenfläche mit dem Namen watermark.pdf und A4-Seitengröße zu erstellen. Der übersetzen() Die Funktion verschiebt den Ursprung in die obere linke Ecke.

Stellen Sie die Datei des Textes auf Grau mit einer Deckkraft von 0,6 ein; Auf einer Skala von 0-1 ist 0 am transparentesten und 1 am undurchsichtigsten. Stellen Sie den Schriftstil auf Helvetica mit einer Größe von 50 ein. Wenden Sie eine Drehung um 45 Grad gegen den Uhrzeigersinn an. Übergeben Sie die x- und y-Koordinaten zusammen mit dem Text, um ihn über die Leinwand zu zeichnen, und speichern Sie ihn mit der Funktion save().

defmakeWatermark():
Text = Eingabe ("Geben Sie hier den Wasserzeichentext ein:")
pdf = Leinwand. Leinwand("wasserzeichen.pdf", Seitengröße=A4)
pdf.übersetzen(Zoll, Zoll)
pdf.setFillColor (colors.grey, alpha=0.6)
pdf.setFont("Helvetika", 50)
pdf.drehen(45)
pdf.drawCentredString(400, 100, Text)
pdf.speichern()

Die Wasserzeichen-PDF-Datei, die die obige Funktion generiert, sieht folgendermaßen aus:

Definieren Sie eine Funktion namens makepdf() um die Seiten der PDF-Datei mit einem Wasserzeichen zu versehen. Geben Sie den Namen der Datei ein, die Sie mit einem Wasserzeichen versehen möchten, einschließlich aller .pdf Verlängerung. Initialisieren Sie eine Variable, um den Namen der mit Wasserzeichen versehenen PDF-Datei zu speichern. Öffnen Sie beide Dateien im Read-Binary-Modus.

Verwenden Sie die PdfFileReader() um ein Objekt zu instanziieren, das jedes PDF darstellt. Verwenden Sie die getPage() Funktion, um die erste und einzige Seite der mit Wasserzeichen versehenen PDF-Datei zu erhalten.

defpdf machen():
pdf_file = Eingabe ("PDF Datei: ")
Wasserzeichen = 'wasserzeichen.pdf'
zusammengeführt = "Wasserzeichen.pdf"

mitoffen(PDF Datei, "rb") als Eingabedatei, offen(Wasserzeichen, "rb") als Wasserzeichendatei:
input_pdf = PdfFileReader (Eingabedatei)
watermark_pdf = PdfFileReader (Wasserzeichen_Datei)
watermark_page = watermark_pdf.getPage (0)

Jetzt ist es an der Zeit, die Wasserzeichenseite mit jeder Seite im Ziel-PDF zusammenzuführen.

Erstellen Sie ein Objekt der PdfFileWriter-Klasse, das zum Generieren der Ausgabe-PDF verwendet werden soll. Definieren Sie eine Schleife, die jede Seite in der gewünschten PDF-Datei durchläuft. Die Funktion getNumPages() gibt die Gesamtzahl der Seiten in einem PDF zurück. Verwenden Sie die Funktion getPage(), um die Seite abzurufen und sie mit der zuvor gespeicherten Wasserzeichenseite zusammenzuführen.

Verwenden Sie das PdfFileWriter-Objekt, um jede zusammengeführte Seite zum endgültigen PDF hinzuzufügen. Nachdem Sie die Ausgabe-PDF erstellt haben, öffnen Sie die Ausgabedatei im Modus „Binär schreiben“ und verwenden Sie die Funktion „write()“, um die mit Wasserzeichen versehene PDF-Datei in dieser Datei zu speichern.

 Ausgabe = PdfFileWriter()

fürichInBereich(Eingabe_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
pdf_seite.mergePage(Wasserzeichen_Seite)
Ausgang.Seite hinzufügen(pdf_seite)

mitoffen(fusioniert, "wb") als zusammengeführte_datei:
Ausgang.schreiben(merged_file)

Rufen Sie schließlich beide Funktionen – makeWatermark() und makepdf() – auf, um die mit Wasserzeichen versehene PDF-Datei zu erstellen:

makeWatermark()
makepdf()

Die mit dem obigen Python-Programm generierte Text-PDF mit Wasserzeichen sieht folgendermaßen aus:

Darüber hinaus können Sie dieser fünfstufigen Methode folgen Erstellen Sie mit Canva ein Wasserzeichen und fügen Sie es jedem Bild hinzu. Sie können auch verwenden Techniken, um Ihre Videos mit Wasserzeichen zu versehen in nur wenigen Minuten.

Es kann vorkommen, dass Sie versehentlich ein Wasserzeichen hinzugefügt haben und es entfernen möchten. Sie können kostenlos Online-Tools wie Soda PDF, Microsoft Word, Google Docs und PDF Zorro verwenden. Für Bilder können Sie Tools wie Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft und Cutout.pro erkunden.

Verwenden Sie zum kostenlosen Entfernen von Wasserzeichen in Videos Apowersoft, 123apps, PickFrom Blur und BeeCut.

Denken Sie jedoch daran, kein urheberrechtlich geschütztes Material ohne die Erlaubnis des Eigentümers zu verwenden.