Vannmerker er en tydelig, men subtil måte å identifisere eieren av en bestemt fil på. Mens folk kan finne dem irriterende, tjener de sin hensikt på en grasiøs måte.
Med et vannmerke kan du ikke bare beskytte filene dine, men også legge til beskrivende tekst, plassering, generasjonstidspunkt og mer. Så neste gang du leverer inn oppgaven eller journalpapiret, må du huske å legge til et vannmerke ved å bruke dette enkle Python-programmet.
Hva er ReportLab-modulen?
For å legge til et vannmerke i en PDF-fil, trenger du et godt bibliotek som ReportLab-modulen. Det er et åpen kildekode-bibliotek som lar deg lage PDF-er, samt legge til diagrammer, data og grafikk til dem. Denne modulen hjelper deg med å generere dynamiske PDF-filer, konvertere XML-filer til PDF-filer og generere rapporter. For å installere ReportLab på systemet ditt, åpne en terminal og skriv:
pip installere reportlab
Dette installerer ReportLab i Python-miljøet ditt.
Hva er PyPDF2-modulen?
PyPDF2 er et populært bibliotek som du kan bruke til å utføre en rekke nyttige PDF-operasjoner. Disse inkluderer beskjæring, sammenslåing, splitting, rotering, transformering, legge til data, stempling og vannmerking. Du kan også kryptere og dekryptere, trekke ut tekst, bilder og metadata, og lese eller legge til PDF-kommentarer. For å installere PyPDF2 i systemet ditt, åpne en terminal og skriv:
pip installere PyPDF2
Dette installerer PyPDF2 i ditt Python-miljø.
Hvordan legge til det ønskede vannmerket til PDF ved hjelp av Python
Å legge til et vannmerke til en PDF-fil ved hjelp av Python er ganske enkelt. Du skal lage et lerret og tegne tekstvannmerket ved å bruke din favorittfarge og retning, og deretter lagre det som en PDF.
Etter genereringen av dette énsides vannmerkedesignet, kan du åpne begge PDF-ene og slå dem sammen side for side. Voilà, din vannmerke PDF er da klar.
Start programmet med å importere lerret fra pdfgen, som ligger i reportlab modul. PDFgen-grensesnittet fungerer på det laveste nivået for å generere PDF-er. Du kan visualisere det som å male et dokumentdesign og struktur på en side. Canvas-klassen gir operasjonene som trengs for å gjøre det.
Du kan tenke på lerretet som et ark med vanlig papir med kartesiske koordinater. Opprinnelsespunktet (0,0) er i nedre venstre hjørne. Verdiene til x- og y-koordinatene øker når punktene beveger seg bort fra origo, oppover og til høyre.
Importer fra ReportLab-biblioteket tomme, farge, og sidestørrelse. Programmet vil bruke tommer som måleenhet. Det er to fargeformater tilgjengelig under ReportLab: den RGB modell, og CYMK modell. RGB er å foretrekke, men hvis du vil ha mer kontroll over fargenivået som vises når du skriver ut PDF-en, kan du velge CYMK i stedet.
Som navnet antyder, er størrelsen på siden satt til A4. I tillegg importerer du PdfFileReader og PdfFileWriter fra PyPDF2 for å utføre lese- og skriveoperasjoner på PDF-filer.
fra reportlab.pdfgen import lerret
fra reportlab.lib.units import tomme
fra reportlab.lib import farger
fra reportlab.lib.pagesizes import A4
fra PyPDF2 import PdfFileReader, PdfFileWriter
Definer en funksjon kalt makeWatermark() for å lage én-sides vannmerke-PDF-filen som du senere skal bruke til å bruke på sidene i det ønskede dokumentet. Be brukeren om å skrive inn teksten til vannmerket ved hjelp av input-setningen.
Bruk lerretet til å generere et tegneområde med navnet watermark.pdf og A4-sidestørrelse. De oversette() funksjonen flytter origo til øvre venstre hjørne.
Sett filen med teksten til grå med en opasitet på 0,6; på en skala fra 0-1 er 0 den mest gjennomsiktige og 1 den mest ugjennomsiktige. Sett skriftstilen til Helvetica med en størrelse på 50. Påfør en rotasjon på 45 grader mot klokken. Send x- og y-koordinatene sammen med teksten for å tegne den over lerretet og lagre den ved å bruke save()-funksjonen.
deflage vannmerke():
tekst = input("Skriv inn vannmerketeksten her:")
pdf = lerret. Lerret("vannmerke.pdf", sidestørrelse=A4)
pdf.oversette(tomme, tomme)
pdf.setFillColor (colors.grey, alpha=0.6)
pdf.setFont("Helvetica", 50)
pdf.rotere(45)
pdf.drawCentredString(400, 100, tekst)
pdf.lagre()
Vannmerket PDF-filen som funksjonen ovenfor genererer ser slik ut:
Definer en funksjon kalt makepdf() for å vannmerke sidene i PDF-en. Skriv inn navnet på filen du vil vannmerke, inkludert evt .pdf Utvidelse. Initialiser en variabel for å lagre navnet på den vannmerkede PDF-filen. Åpne begge filene i les binær modus.
Bruke PdfFileReader() for å instansiere et objekt som representerer hver PDF. Bruke getPage() funksjon for å få den første og eneste siden i den vannmerkede PDF-filen.
defmakepdf():
pdf_fil = input("PDF-fil:")
vannmerke = 'vannmerke.pdf'
slått sammen = "Vannmerket.pdf"
medåpen(pdf_fil, "rb") som input_file, åpen(vannmerke, "rb") som vannmerkefil:
input_pdf = PdfFileReader (input_file)
watermark_pdf = PdfFileReader (vannmerkefil)
watermark_page = watermark_pdf.getPage (0)
Nå er det på tide å slå sammen vannmerkesiden med hver side i mål-PDF-en.
Opprett et objekt av klassen PdfFileWriter som skal brukes til å generere utdata-PDFen. Definer en løkke som itererer over hver side i ønsket PDF. GetNumPages()-funksjonen returnerer det totale antallet sider i en PDF. Bruk getPage()-funksjonen for å hente siden og slå den sammen med vannmerkesiden lagret tidligere.
Bruk PdfFileWriter-objektet til å legge til hver sammenslåtte side til den endelige PDF-filen. Når du har opprettet utdata-PDF-en, åpner du utdatafilen i skrive binær modus og bruker write()-funksjonen for å lagre den vannmerkede pdf-en til denne filen.
output = PdfFileWriter()
tilJegiområde(input_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
pdf_side.mergePage(vannmerkeside)
produksjon.addPage(pdf_side)
medåpen(slått sammen, "wb") som sammenslått_fil:
produksjon.skrive(sammenslått_fil)
Til slutt kaller du begge funksjonene – makeWatermark() og makepdf() – for å lage den vannmerkede PDF-filen:
makeWatermark()
makepdf()
Teksten vannmerket PDF generert ved hjelp av Python-programmet ovenfor ser slik ut:
I tillegg kan du følge denne fem-trinns metoden for å opprette og legge til et vannmerke til et hvilket som helst bilde ved hjelp av Canva. Du kan også bruke teknikker for å vannmerke videoene dine på bare noen få minutter.
Det kan hende du har lagt til et vannmerke ved en feiltakelse og ønsker å fjerne det. Du kan bruke nettbaserte verktøy som Soda PDF, Microsoft Word, Google Docs og PDF Zorro gratis. For bilder kan du utforske verktøy som Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft og Cutout.pro.
For gratis fjerning av vannmerke i videoer, bruk Apowersoft, 123apps, PickFrom Blur og BeeCut.
Husk imidlertid å ikke bruke opphavsrettsbeskyttet materiale uten eierens tillatelse.