Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Vandmærker er en klar, men alligevel subtil måde at identificere ejeren af ​​en bestemt fil på. Mens folk kan finde dem irriterende, tjener de deres formål yndefuldt.

Med et vandmærke kan du ikke kun beskytte dine filer, men også tilføje beskrivende tekst, placering, tidspunkt for generering og mere. Så næste gang du afleverer din opgave eller journalpapir, skal du sørge for at tilføje et vandmærke ved hjælp af dette simple Python-program.

Hvad er ReportLab-modulet?

For at tilføje et vandmærke til en PDF-fil har du brug for et godt bibliotek som ReportLab-modulet. Det er et open source-bibliotek, der lader dig oprette PDF'er samt tilføje diagrammer, data og grafik til dem. Dette modul hjælper dig med at generere dynamiske PDF'er, konvertere XML-filer til PDF'er og generere rapporter. For at installere ReportLab på dit system skal du åbne en terminal og skrive:

instagram viewer
pip installere reportlab

Dette installerer ReportLab i dit Python-miljø.

Hvad er PyPDF2-modulet?

PyPDF2 er et populært bibliotek, som du kan bruge til at udføre en række nyttige PDF-handlinger. Disse omfatter beskæring, fletning, opdeling, rotation, transformation, tilføjelse af data, stempling og vandmærkning. Du kan også kryptere og dekryptere, udtrække tekst, billeder og metadata og læse eller tilføje PDF-annoteringer. For at installere PyPDF2 i dit system skal du åbne en terminal og skrive:

pip installere PyPDF2

Dette installerer PyPDF2 i dit Python-miljø.

Sådan tilføjes det ønskede vandmærke til PDF ved hjælp af Python

At tilføje et vandmærke til en PDF-fil ved hjælp af Python er ret simpelt. Du vil oprette et lærred og tegne tekstvandmærket ved hjælp af din yndlingsfarve og retning, og derefter gemme det som en PDF.

Efter genereringen af ​​dette ensides vandmærkedesign kan du åbne begge PDF-filer og flette dem side for side. Voilà, din vandmærkede PDF er så klar.

Start dit program ved at importere lærred fra pdfgen, beliggende i reportlab modul. Pdfgen-grænsefladen fungerer på det laveste niveau for at generere PDF'er. Du kan visualisere det som at male et dokumentdesign og struktur på en side. Lærredsklassen giver de nødvendige operationer til at gøre det.

Du kan tænke på lærredet som et ark almindeligt papir med kartesiske koordinater. Udgangspunktet (0,0) er i nederste venstre hjørne. Værdierne af x- og y-koordinaterne stiger, når punkter bevæger sig væk fra origo, opad og til højre.

Importer fra ReportLab-biblioteket tomme, farve, og sidestørrelse. Programmet vil bruge tommer som måleenhed. Der er to farveformater tilgængelige under ReportLab: RGB model, og CYMK model. RGB er at foretrække, men hvis du vil have mere kontrol over niveauet af farver, der vises, når du udskriver PDF'en, kan du i stedet vælge CYMK.

Som navnet antyder, er størrelsen på siden indstillet til A4. Importer desuden PdfFileReader og PdfFileWriter fra PyPDF2 at udføre læse- og skrivehandlinger på PDF-filer.

fra reportlab.pdfgen importere lærred
fra reportlab.lib.units importere tomme
fra reportlab.lib importere farver
fra reportlab.lib.pagesizes importere A4
fra PyPDF2 importere PdfFileReader, PdfFileWriter

Definer en funktion kaldet makeWatermark() for at oprette den én-sides vandmærke PDF-fil, som du senere vil bruge til at anvende på siderne i det ønskede dokument. Bed brugeren om at indtaste teksten til vandmærket ved hjælp af input-sætningen.

Brug lærredet til at generere et tegneområde med navnet watermark.pdf og A4-sidestørrelse. Det Oversætte() funktion flytter oprindelsen til øverste venstre hjørne.

Indstil tekstfilen til grå med en opacitet på 0,6; på en skala fra 0-1 er 0 den mest gennemsigtige og 1 den mest uigennemsigtige. Indstil skrifttypestilen til Helvetica med en størrelse på 50. Anvend en drejning på 45 grader mod uret. Send x- og y-koordinaterne sammen med teksten for at tegne den over lærredet og gemme den ved hjælp af save()-funktionen.

deflave Vandmærke():
tekst = input("Indtast vandmærketeksten her:")
pdf = lærred. Lærred("vandmærke.pdf", sidestørrelse=A4)
pdf.Oversætte(tomme, tomme)
pdf.setFillColor (colors.grey, alpha=0.6)
pdf.setFont("Helvetica", 50)
pdf.rotere(45)
pdf.drawCentredString(400, 100, tekst)
pdf.Gemme()

Vandmærke-PDF-filen, som ovenstående funktion genererer, ser sådan ud:

Definer en funktion med navn makepdf() for at vandmærke siderne i PDF'en. Indtast navnet på den fil, du vil vandmærke, inklusive evt .pdf udvidelse. Initialiser en variabel for at gemme navnet på den vandmærkede PDF. Åbn begge filer i læse binær tilstand.

Brug PdfFileReader() at instansiere et objekt, der repræsenterer hver PDF. Brug getPage() funktion for at få den første og eneste side i den vandmærkede PDF.

defmakepdf():
pdf_fil = input("PDF fil:")
vandmærke = 'vandmærke.pdf'
sammenlagt = "Vandmærke.pdf"

medåben(pdf_fil, "rb") som input_file, åben(vandmærke, "rb") som vandmærkefil:
input_pdf = PdfFileReader (input_fil)
watermark_pdf = PdfFileReader (vandmærke_fil)
watermark_page = watermark_pdf.getPage (0)

Nu er det tid til at flette vandmærkesiden med hver side i mål-PDFen.

Opret et objekt af klassen PdfFileWriter, der skal bruges til at generere output-PDF. Definer en løkke, der itererer over hver side i den ønskede PDF. Funktionen getNumPages() returnerer det samlede antal sider i en PDF. Brug funktionen getPage() til at hente siden og flette den med vandmærkesiden, der er gemt tidligere.

Brug PdfFileWriter-objektet til at tilføje hver flettet side til den endelige PDF. Når du har oprettet output-PDF'en, skal du åbne outputfilen i skrive binær tilstand og bruge funktionen write() til at gemme den vandmærkede pdf til denne fil.

 output = PdfFileWriter()

tiljegirækkevidde(input_pdf.getNumPages()):
pdf_side = input_pdf.getPage (i)
pdf_side.mergePage(vandmærke_side)
produktion.addPage(pdf_side)

medåben(fusioneret, "wb") som flettet_fil:
produktion.skrive(flettet_fil)

Til sidst skal du kalde begge funktioner - makeWatermark() og makepdf() - for at oprette den vandmærkede PDF-fil:

makeWatermark()
makepdf()

Teksten vandmærket PDF genereret ved hjælp af ovenstående Python-program ser sådan ud:

Derudover kan du følge denne fem-trins metode til oprette og tilføje et vandmærke til ethvert billede ved hjælp af Canva. Du kan også bruge teknikker til at vandmærke dine videoer på få minutter.

Der kan være tidspunkter, hvor du ved en fejl tilføjede et vandmærke og vil fjerne det. Du kan bruge onlineværktøjer som Soda PDF, Microsoft Word, Google Docs og PDF Zorro gratis. Til billeder kan du udforske værktøjer som Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft og Cutout.pro.

For gratis fjernelse af vandmærke i videoer skal du bruge Apowersoft, 123apps, PickFrom Blur og BeeCut.

Husk dog ikke at bruge noget ophavsretligt beskyttet materiale uden ejerens tilladelse.