Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Vodni žigi so jasen, a subtilen način identifikacije lastnika določene datoteke. Čeprav se ljudem morda zdijo nadležni, služijo svojemu namenu elegantno.

Z vodnim žigom ne morete le zaščititi svojih datotek, ampak tudi dodati opisno besedilo, lokacijo, čas nastanka in drugo. Ko torej naslednjič oddate svojo nalogo ali dnevnik, ne pozabite dodati vodnega žiga s tem preprostim programom Python.

Kaj je modul ReportLab?

Če želite datoteki PDF dodati vodni žig, boste potrebovali dobro knjižnico, kot je modul ReportLab. To je odprtokodna knjižnica, ki vam omogoča ustvarjanje PDF-jev ter jim dodajanje grafikonov, podatkov in grafik. Ta modul vam pomaga pri ustvarjanju dinamičnih datotek PDF, pretvorbi datotek XML v datoteke PDF in ustvarjanju poročil. Če želite namestiti ReportLab v svoj sistem, odprite terminal in vnesite:

pip namestite reportlab

To namesti ReportLab v vaše okolje Python.

Kaj je modul PyPDF2?

PyPDF2 je priljubljena knjižnica, ki jo lahko uporabite za izvajanje različnih uporabnih operacij PDF. Ti vključujejo obrezovanje, združevanje, razdelitev, vrtenje, preoblikovanje, dodajanje podatkov, žigosanje in vodni žig. Prav tako lahko šifrirate in dešifrirate, izvlečete besedilo, slike in metapodatke ter berete ali dodajate opombe PDF. Če želite namestiti PyPDF2 v svoj sistem, odprite terminal in vnesite:

pip namestite PyPDF2

To namesti PyPDF2 v vaše okolje Python.

Kako dodati želeni vodni žig v PDF z uporabo Pythona

Dodajanje vodnega žiga v datoteko PDF z uporabo Pythona je precej preprosto. Ustvarili boste platno in narisali besedilni vodni žig s svojo najljubšo barvo in smerjo, nato pa ga shranili kot PDF.

Po ustvarjanju tega enostranskega vodnega žiga lahko odprete oba PDF-ja in ju združite stran za stranjo. Voilà, vaš PDF z vodnim žigom je pripravljen.

Začnite svoj program z uvozom platno od pdfgen, ki se nahaja v reportlab modul. Vmesnik pdfgen deluje na najnižji ravni za ustvarjanje datotek PDF. To si lahko predstavljate kot slikanje zasnove in strukture dokumenta na strani. Razred platno zagotavlja operacije, potrebne za to.

Platno si lahko predstavljate kot list navadnega papirja s kartezičnimi koordinatami. Izhodiščna točka (0,0) je v spodnjem levem kotu. Vrednosti koordinat x in y naraščata, ko se točke odmikajo od izhodišča, navzgor in v desno.

Iz knjižnice ReportLab uvozite palec, barva, in velikost strani. Program bo kot mersko enoto uporabil inče. V ReportLabu sta na voljo dve barvni obliki: RGB model in CYMK model. Zaželen je RGB, če pa želite več nadzora nad ravnjo barv, ki se prikažejo, ko natisnete PDF, se lahko namesto tega odločite za CYMK.

Kot že ime pove, je velikost strani nastavljena na A4. Poleg tega uvozite PdfFileReader in PdfFileWriter od PyPDF2 za izvajanje operacij branja in pisanja v datotekah PDF.

od reportlab.pdfgen uvoz platno
od reportlab.lib.units uvoz palec
od reportlab.lib uvoz barve
od reportlab.lib.pagesizes uvoz A4
od PyPDF2 uvoz PdfFileReader, PdfFileWriter

Definirajte imenovano funkcijo makeWatermark() ustvarite enostransko datoteko PDF z vodnim žigom, ki jo boste kasneje uporabili za uporabo na straneh želenega dokumenta. Prosite uporabnika, da vnese besedilo vodnega žiga s pomočjo vnosnega stavka.

Uporabite platno za ustvarjanje območja risanja z imenom watermark.pdf in velikostjo strani A4. The prevesti() funkcija premakne izhodišče v zgornji levi kot.

Nastavite datoteko besedila na sivo z motnostjo 0,6; na lestvici od 0 do 1 je 0 najbolj pregleden, 1 pa najbolj neprozoren. Nastavite slog pisave na Helvetica z velikostjo 50. Uporabite vrtenje za 45 stopinj v nasprotni smeri urinega kazalca. Posredujte koordinate x in y skupaj z besedilom, da ga narišete čez platno in ga shranite s funkcijo save().

defmakeWatermark():
besedilo = vnos("Tukaj vnesite besedilo vodnega žiga:")
pdf = platno. Platno ("vodni žig.pdf", velikost strani=A4)
pdf.prevesti(palec, palec)
pdf.setFillColor (colors.grey, alpha=0,6)
pdf.setFont("Helvetica", 50)
pdf.vrteti(45)
pdf.drawCentredString(400, 100, besedilo)
pdf.shrani()

Datoteka PDF z vodnim žigom, ki jo ustvari zgornja funkcija, je videti takole:

Določite funkcijo z imenom naredipdf() za vodni žig na straneh PDF-ja. Vnesite ime datoteke, ki jo želite dodati z vodnim žigom, vključno s poljubnim .pdf razširitev. Inicializirajte spremenljivko za shranjevanje imena PDF-ja z vodnim žigom. Odprite obe datoteki v binarnem načinu za branje.

Uporabi PdfFileReader() za ustvarjanje predmeta, ki predstavlja vsak PDF. Uporabi getPage() funkcijo za pridobitev prve in edine strani PDF-ja z vodnim žigom.

defmakepdf():
pdf_datoteka = vhod("PDF datoteka: ")
vodni žig = 'vodni žig.pdf'
združeno = "Vodni žig.pdf"

zodprto(pdf_datoteka, "rb") kot vhodna_datoteka, odprto(vodni žig, "rb") kot datoteka_vodnega žiga:
input_pdf = PdfFileReader (input_file)
watermark_pdf = PdfFileReader (vodni_žig_datoteka)
watermark_page = watermark_pdf.getPage (0)

Zdaj je čas, da združite stran z vodnim žigom z vsako stranjo v ciljnem PDF-ju.

Ustvarite objekt razreda PdfFileWriter, ki ga boste uporabili za generiranje izhodnega dokumenta PDF. Določite zanko, ki ponavlja vsako stran v želenem PDF-ju. Funkcija getNumPages() vrne skupno število strani v dokumentu PDF. Uporabite funkcijo getPage(), da pridobite stran in jo združite s prej shranjeno stranjo z vodnim žigom.

S predmetom PdfFileWriter dodajte vsako združeno stran v končni dokument PDF. Ko ustvarite izhodni PDF, odprite izhodno datoteko v zapisovalnem binarnem načinu in uporabite funkcijo write(), da shranite pdf z vodnim žigom v to datoteko.

 izhod = PdfFileWriter()

zajazvobseg(input_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
pdf_stran.mergePage(stran z vodnim žigom)
izhod.addPage(pdf_stran)

zodprto(združeno, "wb") kot spojena_datoteka:
izhod.piši(spojena_datoteka)

Na koncu pokličite obe funkciji – makeWatermark() in makepdf() – da ustvarite datoteko PDF z vodnim žigom:

makeWatermark()
naredipdf()

PDF z besedilom z vodnim žigom, ustvarjen z zgornjim programom Python, je videti takole:

Poleg tega lahko sledite tej metodi v petih korakih ustvarite in dodajte vodni žig kateri koli sliki s Canvo. Uporabite lahko tudi tehnike za vodni žig vaših videoposnetkov v samo nekaj minutah.

Včasih ste morda pomotoma dodali vodni žig in ga želite odstraniti. Brezplačno lahko uporabljate spletna orodja, kot so Soda PDF, Microsoft Word, Google Docs in PDF Zorro. Za slike lahko raziščete orodja, kot so Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft in Cutout.pro.

Za brezplačno odstranjevanje vodnega žiga v videoposnetkih uporabite Apowersoft, 123apps, PickFrom Blur in BeeCut.

Vendar ne pozabite, da ne smete uporabljati avtorsko zaščitenega gradiva brez dovoljenja lastnika.