Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Vodoznaky jsou jasným, ale jemným způsobem identifikace vlastníka konkrétního souboru. I když je lidem mohou připadat otravné, svůj účel plní s grácií.

Pomocí vodoznaku můžete nejen chránit své soubory, ale také přidat popisný text, umístění, čas vytvoření a další. Takže až budete příště odevzdávat svůj úkol nebo papír do deníku, nezapomeňte přidat vodoznak pomocí tohoto jednoduchého programu Python.

Co je modul ReportLab?

Chcete-li přidat vodoznak do souboru PDF, budete potřebovat dobrou knihovnu, jako je modul ReportLab. Je to knihovna s otevřeným zdrojovým kódem, která vám umožňuje vytvářet soubory PDF a přidávat do nich grafy, data a grafiku. Tento modul vám pomůže generovat dynamické soubory PDF, převádět soubory XML na soubory PDF a vytvářet zprávy. Chcete-li nainstalovat ReportLab do svého systému, otevřete terminál a zadejte:

instagram viewer
pip Nainstalujte reportlab

Tím se nainstaluje ReportLab do vašeho prostředí Pythonu.

Co je modul PyPDF2?

PyPDF2 je oblíbená knihovna, kterou můžete použít k provádění různých užitečných operací s PDF. Patří mezi ně oříznutí, sloučení, rozdělení, otočení, transformace, přidání dat, razítko a vodoznak. Můžete také šifrovat a dešifrovat, extrahovat text, obrázky a metadata a číst nebo přidávat anotace PDF. Chcete-li nainstalovat PyPDF2 do vašeho systému, otevřete terminál a zadejte:

pip Nainstalujte PyPDF2

Tím se nainstaluje PyPDF2 do vašeho prostředí Pythonu.

Jak přidat požadovaný vodoznak do PDF pomocí Pythonu

Přidání vodoznaku do souboru PDF pomocí Pythonu je velmi jednoduché. Vytvoříte plátno a nakreslíte textový vodoznak pomocí své oblíbené barvy a směru a poté jej uložíte jako PDF.

Po vygenerování tohoto jednostránkového návrhu vodoznaku můžete otevřít oba soubory PDF a sloučit je stránku po stránce. Voilà, vaše PDF s vodoznakem je připraveno.

Spusťte svůj program importem plátno z pdfgen, která se nachází v reportlab modul. Rozhraní pdfgen funguje na nejnižší úrovni pro generování souborů PDF. Můžete si to představit jako malování návrhu a struktury dokumentu na stránku. Třída canvas poskytuje operace potřebné k tomu.

Plátno si můžete představit jako list obyčejného papíru s kartézskými souřadnicemi. Počáteční bod (0,0) je v levém dolním rohu. Hodnoty souřadnic x a y se zvyšují, jak se body vzdalují od počátku, nahoru a doprava.

Z knihovny ReportLab importujte palec, barva, a velikost stránky. Program použije palce jako měrnou jednotku. V ReportLab jsou k dispozici dva barevné formáty: the RGB model a CYMK Modelka. RGB je vhodnější, ale pokud chcete větší kontrolu nad úrovní barev, které se objeví při tisku PDF, můžete se místo toho rozhodnout pro CYMK.

Jak název napovídá, velikost stránky je nastavena na A4. Kromě toho importujte PdfFileReader a PdfFileWriter z PyPDF2 pro provádění operací čtení a zápisu do souborů PDF.

z reportlab.pdfgen import plátno
z reportlab.lib.units import palec
z reportlab.lib import barvy
z reportlab.lib.pagesizes import A4
z PyPDF2 import PdfFileReader, PdfFileWriter

Definujte volanou funkci makeWatermark() k vytvoření jednostránkového souboru PDF vodoznaku, který později použijete k použití na stránky požadovaného dokumentu. Požádejte uživatele, aby pomocí vstupního příkazu vložil text vodoznaku.

Pomocí plátna vygenerujte kreslicí plochu s názvem vodoznak.pdf a velikost stránky A4. The přeložit() funkce přesune počátek do levého horního rohu.

Nastavte soubor textu na šedou barvu s neprůhledností 0,6; na stupnici 0-1 je 0 nejprůhlednější a 1 nejneprůhlednější. Nastavte styl písma na Helvetica s velikostí 50. Aplikujte otočení o 45 stupňů proti směru hodinových ručiček. Předejte souřadnice x a y spolu s textem, abyste jej nakreslili na plátno a uložili jej pomocí funkce save().

defmake Watermark():
text = vstup("Sem zadejte text vodoznaku:")
pdf = plátno. Plátno("vodoznak.pdf", velikost stran=A4)
pdf.přeložit(palec, palec)
pdf.setFillColor (colors.grey, alpha=0.6)
pdf.setFont("helvetica", 50)
pdf.točit se(45)
pdf.drawCentredString(400, 100, text)
pdf.Uložit()

Soubor PDF s vodoznakem, který výše uvedená funkce vygeneruje, vypadá takto:

Definujte funkci pojmenovanou makepdf() k vodoznaku stránek PDF. Zadejte název souboru, který chcete vodoznakem, včetně všech .pdf rozšíření. Inicializujte proměnnou pro uložení názvu PDF s vodoznakem. Otevřete oba soubory v binárním režimu čtení.

Použijte PdfFileReader() k vytvoření instance objektu, který představuje každý PDF. Použijte getPage() funkce pro získání první a jediné stránky PDF s vodoznakem.

defmakepdf():
pdf_file = input("PDF soubor:")
vodoznak = 'vodoznak.pdf'
sloučeno = "Vodoznak.pdf"

sOTEVŘENO(pdf_soubor, "rb") tak jako vložte soubor, OTEVŘENO(vodoznak, "rb") tak jako vodoznak_soubor:
input_pdf = PdfFileReader (vstupní_soubor)
watermark_pdf = PdfFileReader (soubor_vodoznaku)
watermark_page = watermark_pdf.getPage (0)

Nyní je čas sloučit stránku vodoznaku s každou stránkou v cílovém PDF.

Vytvořte objekt třídy PdfFileWriter, který se použije pro generování výstupního PDF. Definujte smyčku, která se iteruje přes každou stránku v požadovaném PDF. Funkce getNumPages() vrací celkový počet stránek v PDF. Pomocí funkce getPage() získáte stránku a sloučíte ji s dříve uloženou stránkou vodoznaku.

Pomocí objektu PdfFileWriter přidejte každou sloučenou stránku do konečného PDF. Jakmile vytvoříte výstupní PDF, otevřete výstupní soubor v binárním režimu zápisu a pomocí funkce write() uložte vodoznak pdf do tohoto souboru.

 výstup = PdfFileWriter()

proivrozsah(input_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
pdf_page.mergePage(stránka vodoznaku)
výstup.addPage(pdf_page)

sOTEVŘENO(sloučeno, "wb") tak jako sloučený_soubor:
výstup.napsat(sloučený_soubor)

Nakonec zavolejte obě funkce – makeWatermark() a makepdf() – a vytvořte soubor PDF s vodoznakem:

makeWatermark()
makepdf()

Text PDF s vodoznakem vygenerovaný pomocí výše uvedeného programu Python vypadá takto:

Navíc můžete postupovat podle této metody v pěti krocích vytvořit a přidat vodoznak do libovolného obrázku pomocí Canva. Můžete také použít techniky pro vodoznak vašich videí za pár minut.

Může nastat situace, kdy jste omylem přidali vodoznak a chcete jej odstranit. Zdarma můžete používat online nástroje jako Soda PDF, Microsoft Word, Google Docs a PDF Zorro. Pro obrázky můžete prozkoumat nástroje jako Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft a Cutout.pro.

Pro bezplatné odstranění vodoznaku z videí použijte Apowersoft, 123apps, PickFrom Blur a BeeCut.

Pamatujte však, že bez svolení vlastníka nepoužívejte žádný materiál chráněný autorským právem.