Le filigrane sono un modo chiaro ma sottile per identificare il proprietario di un particolare file. Mentre le persone possono trovarli fastidiosi, servono al loro scopo con grazia.
Con una filigrana, non solo puoi proteggere i tuoi file, ma anche aggiungere testo descrittivo, posizione, ora di generazione e altro. Quindi, la prossima volta che consegnerai il tuo compito o il tuo diario, assicurati di aggiungere una filigrana usando questo semplice programma Python.
Cos'è il modulo ReportLab?
Per aggiungere una filigrana a un file PDF, avrai bisogno di una buona libreria come il modulo ReportLab. È una libreria open source che ti consente di creare PDF, nonché di aggiungere grafici, dati e grafici. Questo modulo ti aiuta a generare PDf dinamici, convertire file XML in PDF e generare report. Per installare ReportLab sul tuo sistema, apri un terminale e digita:
pippo installare reportlab
Questo installa ReportLab nel tuo ambiente Python.
Cos'è il modulo PyPDF2?
PyPDF2 è una popolare libreria che puoi utilizzare per eseguire una serie di utili operazioni PDF. Questi includono il ritaglio, l'unione, la divisione, la rotazione, la trasformazione, l'aggiunta di dati, il timbro e la filigrana. Puoi anche crittografare e decrittografare, estrarre testo, immagini e metadati e leggere o aggiungere annotazioni PDF. Per installare PyPDF2 nel tuo sistema, apri un terminale e digita:
pippo installare PyPDF2
Questo installa PyPDF2 nel tuo ambiente Python.
Come aggiungere la filigrana desiderata al PDF usando Python
Aggiungere una filigrana a un file PDF usando Python è piuttosto semplice. Creerai una tela e disegnerai la filigrana del testo usando il tuo colore e direzione preferiti, quindi salvala come PDF.
Dopo la generazione di questo disegno filigrana di una pagina, puoi aprire entrambi i PDF e unirli pagina per pagina. Voilà, il tuo PDF filigranato è quindi pronto.
Inizia il tuo programma importando tela da pdfgen, situato nel reportlab modulo. L'interfaccia pdfgen agisce al livello più basso per generare PDF. Puoi visualizzarlo come dipingere il design e la struttura di un documento su una pagina. La classe canvas fornisce le operazioni necessarie per farlo.
Puoi pensare alla tela come a un foglio di carta comune con coordinate cartesiane. Il punto di origine (0,0) si trova nell'angolo in basso a sinistra. I valori delle coordinate x e y aumentano man mano che i punti si allontanano dall'origine, verso l'alto e verso destra.
Dalla libreria ReportLab, importa pollice, colore, E dimensioni della pagina. Il programma utilizzerà i pollici come unità di misura. Ci sono due formati di colore disponibili in ReportLab: the RGB modello, e il CIMK modello. RGB è preferibile, ma se desideri un maggiore controllo sul livello dei colori che appaiono quando stampi il PDF, puoi invece optare per CYMK.
Come suggerisce il nome, la dimensione della pagina è impostata su A4. Inoltre, importa il file PdfFileReader E PdfFileWriter da PyPDF2 per eseguire operazioni di lettura e scrittura su file PDF.
da reportlab.pdfgen importare tela
da reportlab.lib.units importare pollice
da reportlab.lib importare colori
da reportlab.lib.pagesizes importare A4
da PyPDF2 importare PdfFileReader, PdfFileWriter
Definire una funzione chiamata makeWatermark() per creare il file PDF con filigrana di una pagina che successivamente utilizzerai per applicare sulle pagine del documento desiderato. Chiedere all'utente di inserire il testo della filigrana utilizzando l'istruzione di input.
Usa la tela per generare un'area di disegno con il nome watermark.pdf e formato pagina A4. IL tradurre() La funzione sposta l'origine nell'angolo in alto a sinistra.
Imposta il file del testo su grigio con un'opacità di 0,6; su una scala da 0 a 1, 0 è il più trasparente e 1 è il più opaco. Imposta lo stile del carattere su Helvetica con una dimensione di 50. Applicare una rotazione di 45 gradi in senso antiorario. Passa le coordinate x e y insieme al testo per disegnarlo sulla tela e salvalo usando la funzione save().
defmakeWatermark():
testo = input("Inserisci qui il testo della filigrana:")
pdf = tela. Tela("filigrana.pdf", formato pagina=A4)
PDF.tradurre(pollice, pollice)
pdf.setFillColor (colori.grigio, alfa=0.6)
pdf.setFont("Helvetico", 50)
PDF.ruotare(45)
PDF.drawCentredString(400, 100, testo)
PDF.salva()
Il file PDF della filigrana generato dalla funzione precedente è simile al seguente:
Definire una funzione denominata creapdf() per filigranare le pagine del PDF. Immettere il nome del file che si desidera filigranare, incluso qualsiasi .PDF estensione. Inizializza una variabile per memorizzare il nome del PDF con filigrana. Apri entrambi i file in modalità binaria di lettura.
Usa il PdfFileReader() per creare un'istanza di un oggetto che rappresenta ogni PDF. Usa il getPagina() funzione per ottenere la prima e unica pagina del PDF filigranato.
defmakepdf():
pdf_file = input("File PDF: ")
filigrana = 'filigrana.pdf'
unito = "Filigranato.pdf"
conaprire(file PDF, "rb") COME file di input, aprire(filigrana, "rb") COME filigrana_file:
input_pdf = PdfFileReader (input_file)
filigrana_pdf = PdfFileReader (filigrana_file)
watermark_page = watermark_pdf.getPage (0)
Ora è il momento di unire la pagina della filigrana con ogni pagina nel PDF di destinazione.
Creare un oggetto della classe PdfFileWriter da utilizzare per generare il PDF di output. Definisci un loop che itera su ogni pagina nel PDF desiderato. La funzione getNumPages() restituisce il numero totale di pagine in un PDF. Utilizzare la funzione getPage() per ottenere la pagina e unirla alla pagina filigrana memorizzata in precedenza.
Utilizzare l'oggetto PdfFileWriter per aggiungere ogni pagina unita al PDF finale. Dopo aver creato il PDF di output, apri il file di output in modalità binaria di scrittura e utilizza la funzione write() per salvare il pdf con filigrana in questo file.
output = PdfFileWriter()
perioInallineare(ingresso_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
pdf_pagina.mergePage(filigrana_pagina)
produzione.Aggiungi pagina(pdf_pagina)
conaprire(unito, "wb") COME file_unito:
produzione.scrivere(file_unito)
Infine, chiama entrambe le funzioni, makeWatermark() e makepdf(), per creare il file PDF con watermark:
makeWatermark()
creapdf()
Il PDF con filigrana di testo generato utilizzando il programma Python di cui sopra ha il seguente aspetto:
Inoltre, puoi seguire questo metodo in cinque passaggi per crea e aggiungi una filigrana a qualsiasi immagine utilizzando Canva. Puoi anche usare tecniche per filigranare i tuoi video in pochi minuti.
Potrebbero esserci momenti in cui hai aggiunto una filigrana per errore e vuoi rimuoverla. Puoi utilizzare gratuitamente strumenti online come Soda PDF, Microsoft Word, Google Docs e PDF Zorro. Per le immagini, puoi esplorare strumenti come Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft e Cutout.pro.
Per la rimozione gratuita della filigrana nei video, usa Apowersoft, 123apps, PickFrom Blur e BeeCut.
Tuttavia, ricorda di non utilizzare alcun materiale protetto da copyright senza il permesso del proprietario.