Les filigranes sont un moyen clair mais subtil d'identifier le propriétaire d'un fichier particulier. Bien que les gens puissent les trouver ennuyeux, ils servent leur objectif avec grâce.
Avec un filigrane, vous pouvez non seulement protéger vos fichiers, mais également ajouter du texte descriptif, l'emplacement, l'heure de génération, etc. Ainsi, la prochaine fois que vous rendrez votre devoir ou votre journal, assurez-vous d'ajouter un filigrane à l'aide de ce programme Python simple.
Qu'est-ce que le module ReportLab?
Pour ajouter un filigrane à un fichier PDF, vous aurez besoin d'une bonne bibliothèque comme le module ReportLab. Il s'agit d'une bibliothèque open source qui vous permet de créer des fichiers PDF, ainsi que d'y ajouter des graphiques, des données et des graphiques. Ce module vous aide à générer des PDF dynamiques, à convertir des fichiers XML en PDF et à générer des rapports. Pour installer ReportLab sur votre système, ouvrez un terminal et tapez :
pépin installer laboratoire de rapport
Cela installe ReportLab dans votre environnement Python.
Qu'est-ce que le module PyPDF2?
PyPDF2 est une bibliothèque populaire que vous pouvez utiliser pour effectuer diverses opérations PDF utiles. Celles-ci incluent le recadrage, la fusion, le fractionnement, la rotation, la transformation, l'ajout de données, l'estampage et le filigrane. Vous pouvez également chiffrer et déchiffrer, extraire du texte, des images et des métadonnées, et lire ou ajouter des annotations PDF. Pour installer PyPDF2 dans votre système, ouvrez un terminal et tapez :
pépin installer PyPDF2
Cela installe PyPDF2 dans votre environnement Python.
Comment ajouter le filigrane souhaité au PDF à l'aide de Python
Ajouter un filigrane à un fichier PDF à l'aide de Python est assez simple. Vous allez créer une toile et dessiner le filigrane de texte en utilisant votre couleur et votre direction préférées, puis l'enregistrer au format PDF.
Après la génération de cette conception de filigrane d'une page, vous pouvez ouvrir les deux fichiers PDF et les fusionner page par page. Voilà, votre PDF filigrané est alors prêt.
Commencez votre programme en important toile depuis pdfgen, situé dans la laboratoire de rapport module. L'interface pdfgen agit au niveau le plus bas pour générer des PDF. Vous pouvez le visualiser comme la peinture d'une conception et d'une structure de document sur une page. La classe canvas fournit les opérations nécessaires pour le faire.
Vous pouvez considérer la toile comme une feuille de papier ordinaire avec des coordonnées cartésiennes. Le point d'origine (0,0) se trouve dans le coin inférieur gauche. Les valeurs des coordonnées x et y augmentent à mesure que les points s'éloignent de l'origine, vers le haut et vers la droite.
Depuis la bibliothèque ReportLab, importez pouce, couleur, et taille de la page. Le programme utilisera les pouces comme unité de mesure. Deux formats de couleurs sont disponibles sous ReportLab: le RVB modèle, et le CMJN modèle. RVB est préférable, mais si vous voulez plus de contrôle sur le niveau des couleurs qui apparaissent lorsque vous imprimez le PDF, vous pouvez opter pour CYMK à la place.
Comme son nom l'indique, la taille de la page est définie sur A4. De plus, importez le PdfFileReader et PdfFileWriter depuis PyPDF2 pour effectuer des opérations de lecture et d'écriture sur des fichiers PDF.
depuis reportlab.pdfgen importer toile
depuis reportlab.lib.units importer pouce
depuis reportlab.lib importer couleurs
depuis reportlab.lib.pagesizes importer A4
depuis PyPDF2 importer PdfFileReader, PdfFileWriter
Définir une fonction appelée faireFiligrane() pour créer le fichier PDF filigrane d'une page que vous utiliserez plus tard pour appliquer sur les pages du document souhaité. Demandez à l'utilisateur de saisir le texte du filigrane à l'aide de l'instruction d'entrée.
Utilisez le canevas pour générer une zone de dessin avec le nom watermark.pdf et la taille de page A4. Le traduire() La fonction déplace l'origine vers le coin supérieur gauche.
Définissez le fichier du texte sur gris avec une opacité de 0,6; sur une échelle de 0 à 1, 0 est le plus transparent et 1 est le plus opaque. Définissez le style de police sur Helvetica avec une taille de 50. Appliquez une rotation de 45 degrés dans le sens antihoraire. Passez les coordonnées x et y avec le texte pour le dessiner sur le canevas et enregistrez-le à l'aide de la fonction save().
définitivementmarqueFiligrane():
texte = entrée("Entrez le texte du filigrane ici :")
pdf = toile. Toile("filigrane.pdf", taille de page=A4)
pdf.traduire(pouce, pouce)
pdf.setFillColor (colors.grey, alpha=0.6)
pdf.setFont("Helvética", 50)
pdf.tourner(45)
pdf.drawCentredString(400, 100, texte)
pdf.sauvegarder()
Le fichier PDF de filigrane généré par la fonction ci-dessus ressemble à ceci :
Définir une fonction nommée makepdf() pour filigraner les pages du PDF. Entrez le nom du fichier que vous souhaitez filigraner, y compris tout .pdf extension. Initialisez une variable pour stocker le nom du PDF en filigrane. Ouvrez les deux fichiers en mode lecture binaire.
Utilisez le LecteurFichierPdf() pour instancier un objet qui représente chaque PDF. Utilisez le obtenirPage() fonction pour obtenir la première et unique page du PDF en filigrane.
définitivementfairepdf():
fichier_pdf = entrée("Fichier PDF: ")
filigrane = 'filigrane.pdf'
fusionné = "Filigrane.pdf"
avecouvrir(fichier PDF, "rb") comme fichier_entrée, ouvrir(filigrane, "rb") comme filigrane_fichier :
input_pdf = PdfFileReader (input_file)
filigrane_pdf = PdfFileReader (filigrane_fichier)
filigrane_page = filigrane_pdf.getPage (0)
Il est maintenant temps de fusionner la page de filigrane avec chaque page du PDF cible.
Créez un objet de la classe PdfFileWriter à utiliser pour générer le PDF de sortie. Définissez une boucle qui itère sur chaque page du PDF souhaité. La fonction getNumPages() renvoie le nombre total de pages d'un PDF. Utilisez la fonction getPage() pour obtenir la page et la fusionner avec la page de filigrane stockée précédemment.
Utilisez l'objet PdfFileWriter pour ajouter chaque page fusionnée au PDF final. Une fois que vous avez créé le PDF de sortie, ouvrez le fichier de sortie en mode écriture binaire et utilisez la fonction write() pour enregistrer le pdf filigrané dans ce fichier.
sortie = PdfFileWriter()
pourjedansgamme(input_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
pdf_page.mergePage(filigrane_page)
sortir.ajouter une page(pdf_page)
avecouvrir(fusionné, "wb") comme fichier_fusionné :
sortir.écrire(fichier_fusionné)
Enfin, appelez les deux fonctions — makeWatermark() et makepdf() — pour créer le fichier PDF filigrané :
faireFiligrane()
makepdf()
Le texte PDF en filigrane généré à l'aide du programme Python ci-dessus ressemble à ceci :
De plus, vous pouvez suivre cette méthode en cinq étapes pour créer et ajouter un filigrane à n'importe quelle image à l'aide de Canva. Vous pouvez aussi utiliser techniques pour filigraner vos vidéos en quelques minutes seulement.
Il peut arriver que vous ayez ajouté un filigrane par erreur et que vous souhaitiez le supprimer. Vous pouvez utiliser gratuitement des outils en ligne tels que Soda PDF, Microsoft Word, Google Docs et PDF Zorro. Pour les images, vous pouvez explorer des outils tels que Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft et Cutout.pro.
Pour supprimer gratuitement les filigranes dans les vidéos, utilisez Apowersoft, 123apps, PickFrom Blur et BeeCut.
Cependant, rappelez-vous de ne pas utiliser de matériel protégé par le droit d'auteur sans l'autorisation du propriétaire.