DEV Community

SirOnly
SirOnly

Posted on

Wasserzeichen zu PDF-Dokumenten mit Python hinzufügen

PDF-Dokumente sind ein gängiges Dateiformat, das plattformübergreifend verwendet wird und gute Formatierung sowie hohe Sicherheit bietet. Sie werden häufig zum Drucken, Teilen und Verteilen von Inhalten im Internet verwendet. Allerdings bestehen auch Risiken wie Diebstahl, Weitergabe oder Manipulation von PDF-Dokumenten. Um das Urheberrecht zu schützen und Informationen wie die Quelle, den Besitzer und den Verwendungszweck des Dokuments anzugeben, können wir Wasserzeichen zu PDF-Dokumenten hinzufügen. Aufgrund der schwierigen Bearbeitbarkeit von PDFs können Wasserzeichen nicht leicht entfernt oder geändert werden. Daher bieten Wasserzeichen in PDF-Dokumenten einen effektiven Schutz und erhöhen die Sicherheit und Glaubwürdigkeit des Dokuments. In diesem Artikel wird gezeigt, wie man mit Python Text- und Bildwasserzeichen in ein PDF-Dokument einfügt.

Für die in diesem Artikel verwendete Methode benötigen wir Spire.PDF for Python, das von der offiziellen Website heruntergeladen oder direkt über pip installiert werden kann:

pip install Spire.PDF
Enter fullscreen mode Exit fullscreen mode

Textwasserzeichen einfügen

Spire.PDF for Python bietet verschiedene Klassen und Methoden, um Textwasserzeichen auf den Seiten eines PDF-Dokuments zu zeichnen. Hier sind die detaillierten Schritte:

  • Erstellen Sie ein Objekt der Klasse PdfDocument.
  • Verwenden Sie die Methode PdfDocument.LoadFromFile(), um das PDF-Dokument zu laden.
  • Erstellen Sie eine Schriftart.
  • Iterieren Sie über die Dokumentseiten.
  • Verwenden Sie die Methode PdfDocument.Pages.get_Item(), um eine Seite zu erhalten.
  • Erstellen Sie ein Objekt der Klasse PdfTilingBrush.
  • Verwenden Sie die Methode PdfBrush.Graphics.SetTransparency(), um die Transparenz des Wasserzeichens festzulegen.
  • Verwenden Sie die Methode PdfBrush.Graphics.TranslateTransform(), um die Verschiebung einzustellen.
  • Verwenden Sie die Methode PdfBrush.Graphics.RotateTransform(), um den Neigungswinkel des Wasserzeichens einzustellen.
  • Verwenden Sie die Methode PdfBrush.Graphics.DrawString(), um das Wasserzeichen auf dem Pinsel zu zeichnen.
  • Verwenden Sie die Methode PdfPageBase.Canvas.DrawRectangle(), um das Wasserzeichen auf der Seite zu zeichnen.

Python

from spire.pdf.common import *
from spire.pdf import *

inputFile = "Dokument.pdf"
outputFile = "output/Text-Wasserzeichen.pdf"

# Erstellen eines Objekts der Klasse PdfDocument
pdf = PdfDocument()

# Laden des PDF-Dokuments
pdf.LoadFromFile(inputFile)

# Erstellen der Schriftart
font = PdfTrueTypeFont("HarmonyOS Sans SC", 32.0, 0, True)

# Durchlaufen der Seiten des Dokuments
for i in range(pdf.Pages.Count):
    # Seite abrufen
    page = pdf.Pages.get_Item(i)
    # Erstellen eines Objekts der Klasse PdfTilingBrush
    brush = PdfTilingBrush(SizeF(page.Canvas.ClientSize.Width / float(2), page.Canvas.ClientSize.Height / float(3)))
    # Einstellen der Transparenz des Wasserzeichens
    brush.Graphics.SetTransparency(0.3)
    brush.Graphics.Save()
    # Einstellen der Verschiebung
    brush.Graphics.TranslateTransform(brush.Size.Width / float(2), brush.Size.Height / float(2))
    # Einstellen des Neigungswinkels des Wasserzeichens
    brush.Graphics.RotateTransform(-45.0)
    # Zeichnen des Wasserzeichentextes auf dem Pinsel
    brush.Graphics.DrawString("NICHT KOPIEREN", font, PdfBrushes.get_Violet(), 0.0, 0.0, PdfStringFormat(PdfTextAlignment.Center))
    brush.Graphics.Restore()
    brush.Graphics.SetTransparency(1.0)
    # Zeichnen des Wasserzeichens auf der Seite
    page.Canvas.DrawRectangle(brush, RectangleF(PointF(0.0, 0.0), page.Canvas.ClientSize))

# PDF-Dokument speichern
pdf.SaveToFile(outputFile)
pdf.Close()
Enter fullscreen mode Exit fullscreen mode

Ergebnisdokument

Textwasserzeichen einfügen

Bildwasserzeichen einfügen

Wir können auch ein Bildwasserzeichen auf ähnliche Weise in ein PDF-Dokument einfügen. Hier sind die detaillierten Schritte:

  • Erstellen Sie ein Objekt der Klasse PdfDocument.
  • Verwenden Sie die Methode PdfDocument.LoadFromFile(), um das PDF-Dokument zu laden.
  • Verwenden Sie die Methode PdfImage.FromFile(), um das Wasserzeichenbild zu laden.
  • Iterieren Sie über die Dokumentseiten.
  • Verwenden Sie die Methode PdfDocument.Pages.get_Item(), um eine Seite zu erhalten.
  • Verwenden Sie die Methode PdfBrush.Graphics.SetTransparency(), um die Transparenz des Wasserzeichens festzulegen.
  • Verwenden Sie die Methode PdfBrush.Graphics.DrawImage(), um das Wasserzeichen auf dem Pinsel zu zeichnen.
  • Verwenden Sie die Methode PdfPageBase.Canvas.DrawRectangle(), um das Wasserzeichen auf der Seite zu zeichnen.

Python

from spire.pdf.common import *
from spire.pdf import *

inputFile = "Dokument.pdf"
outputFile = "output/Bild-Wasserzeichen.pdf"

# Erstellen eines Objekts der Klasse PdfDocument
pdf = PdfDocument()

# Laden des PDF-Dokuments
pdf.LoadFromFile(inputFile)

# Laden des Wasserzeichenbildes
image = PdfImage.FromFile("Wasserzeichen.png")

# Durchlaufen der Seiten des Dokuments
for i in range(pdf.Pages.Count):
    # Seite abrufen
    page = pdf.Pages.get_Item(i)
    # Erstellen eines Objekts der Klasse PdfTilingBrush
    brush = PdfTilingBrush(SizeF(page.Canvas.Size.Width / float(3), page.Canvas.Size.Height / float(3)))
    # Einstellen der Transparenz des Wasserzeichens
    brush.Graphics.SetTransparency(0.3)
    brush.Graphics.Save()
    # Zeichnen des Wasserzeichens auf dem Pinsel
    brush.Graphics.TranslateTransform(brush.Size.Width/2 - image.Width/2, brush.Size.Height/2 - image.Height/2)
    brush.Graphics.DrawImage(image, 0.0, 0.0, float(image.Width), float(image.Height))
    brush.Graphics.Restore()
    # Zeichnen des Wasserzeichens auf der Seite
    page.Canvas.DrawRectangle(brush, RectangleF(PointF(0.0, 0.0), page.Canvas.Size))

# Speichern des PDF-Dokuments
pdf.SaveToFile(outputFile, FileFormat.PDF)
pdf.Close()
Enter fullscreen mode Exit fullscreen mode

Ergebnisdokument

Bildwasserzeichen einfügen

Das war eine Einführung in das Hinzufügen von Text- und Bildwasserzeichen zu PDF-Dokumenten mit Spire.PDF for Python. Weitere Tutorials finden Sie im Spire.PDF for Python Tutorial Center. Sie können auch das Spire.PDF-Forum besuchen, um an Diskussionen teilzunehmen.

Top comments (0)