Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Vodeni žigovi su jasan, ali suptilan način identifikacije vlasnika određene datoteke. Iako ih ljudi mogu smatrati dosadnima, graciozno služe svojoj svrsi.

Pomoću vodenog žiga ne samo da možete zaštititi svoje datoteke, već i dodati opisni tekst, lokaciju, vrijeme stvaranja i još mnogo toga. Dakle, sljedeći put kada budete predavali svoj zadatak ili rad u časopisu, svakako dodajte vodeni žig pomoću ovog jednostavnog Python programa.

Što je ReportLab modul?

Da biste PDF datoteci dodali vodeni žig, trebat će vam dobra biblioteka poput modula ReportLab. To je biblioteka otvorenog koda koja vam omogućuje stvaranje PDF-ova, kao i dodavanje grafikona, podataka i grafika u njih. Ovaj vam modul pomaže u stvaranju dinamičkih PDF-ova, pretvaranju XML datoteka u PDF-ove i stvaranju izvješća. Da biste instalirali ReportLab na svoj sustav, otvorite terminal i upišite:

pip instalirati izvještajlaboratorija
instagram viewer

Ovo instalira ReportLab u vaše Python okruženje.

Što je PyPDF2 modul?

PyPDF2 je popularna biblioteka koju možete koristiti za izvođenje raznih korisnih PDF operacija. To uključuje obrezivanje, spajanje, dijeljenje, rotiranje, transformaciju, dodavanje podataka, žigosanje i vodeni žig. Također možete šifrirati i dešifrirati, izdvajati tekst, slike i metapodatke te čitati ili dodavati PDF bilješke. Da biste instalirali PyPDF2 u svoj sustav, otvorite terminal i upišite:

pip instalirati PyPDF2

Ovo instalira PyPDF2 u vaše Python okruženje.

Kako dodati željeni vodeni žig u PDF pomoću Pythona

Dodavanje vodenog žiga u PDF datoteku pomoću Pythona prilično je jednostavno. Napravit ćete platno i nacrtati tekstualni vodeni žig koristeći svoju omiljenu boju i smjer, a zatim ga spremiti kao PDF.

Nakon generiranja ovog dizajna vodenog žiga na jednoj stranici, možete otvoriti oba PDF-a i spojiti ih stranicu po stranicu. Voilà, vaš PDF s vodenim žigom je spreman.

Započnite svoj program uvozom platno iz pdfgen, koji se nalazi u izvještajlaboratorija modul. Sučelje pdfgen djeluje na najnižoj razini za generiranje PDF-ova. Možete to vizualizirati kao slikanje dizajna i strukture dokumenta na stranici. Klasa canvas pruža operacije potrebne za to.

Možete zamisliti platno kao list običnog papira s Kartezijevim koordinatama. Ishodište (0,0) je u donjem lijevom kutu. Vrijednosti x i y koordinata rastu kako se točke odmiču od ishodišta, prema gore i udesno.

Uvezite iz biblioteke ReportLab inč, boja, i veličina stranice. Program će koristiti inče kao mjernu jedinicu. U ReportLabu su dostupna dva formata boja: RGB model, i CYMK model. RGB je poželjan, ali ako želite više kontrole nad razinom boja koje se pojavljuju kada ispisujete PDF, možete se odlučiti za CYMK.

Kao što naziv sugerira, veličina stranice postavljena je na A4. Osim toga, uvezite PdfFileReader i PdfFileWriter iz PyPDF2 za izvođenje operacija čitanja i pisanja na PDF datotekama.

iz reportlab.pdfgen uvoz platno
iz reportlab.lib.jedinice uvoz inč
iz reportlab.lib uvoz boje
iz reportlab.lib.pagesizes uvoz A4
iz PyPDF2 uvoz PdfFileReader, PdfFileWriter

Definirajte funkciju tzv makeWatermark() za izradu PDF datoteke s vodenim žigom od jedne stranice koju ćete kasnije koristiti za primjenu na stranicama željenog dokumenta. Zamolite korisnika da unese tekst vodenog žiga pomoću naredbe za unos.

Upotrijebite platno za generiranje područja za crtanje s nazivom watermark.pdf i veličinom stranice A4. The Prevedi() funkcija pomiče ishodište u gornji lijevi kut.

Postavite datoteku teksta u sivu s neprozirnošću od 0,6; na ljestvici od 0-1, 0 je najprozirniji, a 1 najneprozirniji. Postavite stil fonta na Helvetica s veličinom 50. Primijenite rotaciju od 45 stupnjeva u smjeru suprotnom od kazaljke na satu. Proslijedite x i y koordinate zajedno s tekstom da biste ga nacrtali preko platna i spremili pomoću funkcije save().

defmakeWatermark():
tekst = unos("Ovdje unesite tekst vodenog žiga:")
pdf = platno. Platno("vodeni žig.pdf", veličina stranice=A4)
pdf.Prevedi(inč, inč)
pdf.setFillColor (colors.grey, alpha=0.6)
pdf.setFont("Helvetica", 50)
pdf.rotirati(45)
pdf.drawCentredString(400, 100, tekst)
pdf.uštedjeti()

PDF datoteka s vodenim žigom koju gornja funkcija generira izgleda ovako:

Definirajte funkciju pod nazivom napravipdf() za vodeni žig na stranicama PDF-a. Unesite naziv datoteke koju želite staviti vodeni žig, uključujući bilo koji .pdf proširenje. Inicijalizirajte varijablu za pohranjivanje naziva PDF-a s vodenim žigom. Otvorite obje datoteke u čitanju binarnog načina.

Koristiti PdfFileReader() za instanciranje objekta koji predstavlja svaki PDF. Koristiti getPage() funkciju za dobivanje prve i jedine stranice PDF-a s vodenim žigom.

defmakepdf():
pdf_datoteka = ulaz("PDF datoteka: ")
vodeni žig = 'vodeni žig.pdf'
spojeno = "Vodeni žig.pdf"

sotvoren(pdf_datoteka, "rb") kao ulazna_datoteka, otvoren(vodeni žig, "rb") kao datoteka_vodenog žiga:
input_pdf = PdfFileReader (ulazna_datoteka)
watermark_pdf = PdfFileReader (vodeni_žig_datoteka)
vodeni žig_stranica = vodeni žig_pdf.getPage (0)

Sada je vrijeme za spajanje stranice vodenog žiga sa svakom stranicom u ciljnom PDF-u.

Stvorite objekt klase PdfFileWriter koji će se koristiti za generiranje izlaznog PDF-a. Definirajte petlju koja ponavlja svaku stranicu u željenom PDF-u. Funkcija getNumPages() vraća ukupan broj stranica u PDF-u. Upotrijebite funkciju getPage() da dobijete stranicu i spojite je s prethodno pohranjenom stranicom s vodenim žigom.

Upotrijebite objekt PdfFileWriter za dodavanje svake spojene stranice konačnom PDF-u. Nakon što ste izradili izlazni PDF, otvorite izlaznu datoteku u binarnom načinu pisanja i upotrijebite funkciju write() za spremanje PDF-a s vodenim žigom u ovu datoteku.

 izlaz = PdfFileWriter()

zajaudomet(ulazni_pdf.getNumPages()):
pdf_stranica = input_pdf.getPage (i)
pdf_stranica.mergePage(vodeni žig_stranica)
izlaz.addPage(pdf_stranica)

sotvoren(spojeno, "wb") kao spojena_datoteka:
izlaz.pisati(spojena_datoteka)

Na kraju, pozovite obje funkcije—makeWatermark() i makepdf()—za stvaranje PDF datoteke s vodenim žigom:

makeWatermark()
napravipdf()

Tekst PDF s vodenim žigom generiran korištenjem gornjeg Python programa izgleda ovako:

Osim toga, možete slijediti ovu metodu u pet koraka izradite i dodajte vodeni žig bilo kojoj slici koristeći Canvu. Također možete koristiti tehnike za vodeni žig vaših videozapisa u samo nekoliko minuta.

Ponekad možete greškom dodati vodeni žig i poželjeti ga ukloniti. Možete besplatno koristiti mrežne alate kao što su Soda PDF, Microsoft Word, Google Docs i PDF Zorro. Za slike možete istražiti alate kao što su Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft i Cutout.pro.

Za besplatno uklanjanje vodenog žiga u videozapisima koristite Apowersoft, 123apps, PickFrom Blur i BeeCut.

Međutim, ne zaboravite da ne koristite nikakav materijal zaštićen autorskim pravima bez dopuštenja vlasnika.