Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Znaki wodne to wyraźny, ale subtelny sposób identyfikacji właściciela określonego pliku. Chociaż ludzie mogą uważać je za irytujące, z wdziękiem spełniają swoje zadanie.

Za pomocą znaku wodnego możesz nie tylko chronić swoje pliki, ale także dodawać tekst opisowy, lokalizację, czas wygenerowania i nie tylko. Tak więc następnym razem, gdy oddasz swoje zadanie lub pracę zeszytu, pamiętaj o dodaniu znaku wodnego za pomocą tego prostego programu w języku Python.

Czym jest moduł ReportLab?

Aby dodać znak wodny do pliku PDF, potrzebujesz dobrej biblioteki, takiej jak moduł ReportLab. Jest to biblioteka typu open source, która umożliwia tworzenie plików PDF, a także dodawanie do nich wykresów, danych i grafiki. Ten moduł pomaga generować dynamiczne pliki PDF, konwertować pliki XML do formatu PDF i generować raporty. Aby zainstalować ReportLab w swoim systemie, otwórz terminal i wpisz:

instagram viewer
pypeć zainstalować laboratorium raportowe

Spowoduje to zainstalowanie ReportLab w środowisku Pythona.

Co to jest moduł PyPDF2?

PyPDF2 to popularna biblioteka, której można używać do wykonywania różnych przydatnych operacji na plikach PDF. Obejmują one przycinanie, łączenie, dzielenie, obracanie, przekształcanie, dodawanie danych, stemplowanie i znak wodny. Możesz także szyfrować i odszyfrowywać, wyodrębniać tekst, obrazy i metadane oraz czytać lub dodawać adnotacje PDF. Aby zainstalować PyPDF2 w swoim systemie, otwórz terminal i wpisz:

pypeć zainstalować PyPDF2

Spowoduje to zainstalowanie PyPDF2 w środowisku Pythona.

Jak dodać żądany znak wodny do pliku PDF za pomocą Pythona

Dodanie znaku wodnego do pliku PDF za pomocą Pythona jest dość proste. Utworzysz płótno i narysujesz tekstowy znak wodny, używając swojego ulubionego koloru i kierunku, a następnie zapiszesz go jako plik PDF.

Po wygenerowaniu tego jednostronicowego projektu znaku wodnego możesz otworzyć oba pliki PDF i scalić je strona po stronie. Voilà, Twój plik PDF ze znakiem wodnym jest gotowy.

Rozpocznij program od zaimportowania płótno z pdfgen, zlokalizowany w laboratorium raportowe moduł. Interfejs pdfgen działa na najniższym poziomie w celu generowania plików PDF. Możesz to zwizualizować jako malowanie projektu i struktury dokumentu na stronie. Klasa canvas udostępnia niezbędne do tego operacje.

Możesz myśleć o płótnie jako o kartce zwykłego papieru ze współrzędnymi kartezjańskimi. Punkt początkowy (0,0) znajduje się w lewym dolnym rogu. Wartości współrzędnych x i y rosną, gdy punkty oddalają się od początku układu współrzędnych w górę iw prawo.

Z biblioteki ReportLab zaimportuj cal, kolor, I rozmiar strony. Program użyje cali jako jednostki miary. W ReportLab dostępne są dwa formaty kolorów: the RGB modelka i CYMK Model. Preferowany jest RGB, ale jeśli chcesz mieć większą kontrolę nad poziomem kolorów pojawiających się podczas drukowania pliku PDF, możesz zamiast tego wybrać CYMK.

Jak sama nazwa wskazuje, rozmiar strony jest ustawiony na A4. Dodatkowo zaimportuj plik Czytnik plików PDF I PdfFileWriter z PyPDF2 do wykonywania operacji odczytu i zapisu na plikach PDF.

z raportlab.pdfgen import płótno
z reportlab.lib.jednostki import cal
z reportlab.lib import zabarwienie
z reportlab.lib.pagesizes import A4
z PyPDF2 import PdfFileReader, PdfFileWriter

Zdefiniuj wywołaną funkcję makeWatermark() aby utworzyć jednostronicowy plik PDF ze znakiem wodnym, którego później użyjesz do zastosowania na stronach żądanego dokumentu. Poproś użytkownika o wprowadzenie tekstu znaku wodnego za pomocą instrukcji wprowadzania.

Użyj płótna, aby wygenerować obszar rysunkowy o nazwie znak wodny.pdf i rozmiar strony A4. The Tłumaczyć() funkcja przesuwa początek do lewego górnego rogu.

Ustaw plik tekstu na szary z kryciem 0,6; w skali 0-1, 0 jest najbardziej przejrzyste, a 1 najbardziej nieprzejrzyste. Ustaw styl czcionki na Helvetica o rozmiarze 50. Zastosuj obrót o 45 stopni w kierunku przeciwnym do ruchu wskazówek zegara. Przekaż współrzędne x i y wraz z tekstem, aby narysować go na płótnie i zapisz za pomocą funkcji save().

pokzrób znak wodny():
tekst = wejście („Tutaj wpisz tekst znaku wodnego:”)
pdf = płótno. Płótno(„znak wodny.pdf”, rozmiar strony=A4)
pdf.Tłumaczyć(cal, cal)
pdf.setFillColor (kolory.szary, alfa=0,6)
pdf.setFont(„Helvetica”, 50)
pdf.obracać się(45)
pdf.drawCentredString(400, 100, tekst)
pdf.ratować()

Plik PDF ze znakiem wodnym generowany przez powyższą funkcję wygląda następująco:

Zdefiniuj funkcję o nazwie makepdf() do znaku wodnego na stronach pliku PDF. Wprowadź nazwę pliku, który chcesz oznaczyć znakiem wodnym, w tym dowolny .pdf rozszerzenie. Zainicjuj zmienną do przechowywania nazwy pliku PDF ze znakiem wodnym. Otwórz oba pliki w trybie odczytu binarnego.

Użyj PdfFileReader() aby utworzyć instancję obiektu reprezentującego każdy plik PDF. Użyj pobierz stronę() aby uzyskać pierwszą i jedyną stronę pliku PDF ze znakiem wodnym.

pokzrobićpdf():
pdf_file = input("Plik PDF: ")
znak wodny = „znak wodny.pdf”
połączone = „Znak wodny.pdf”

zotwarty(plik PDF, "rb") Jak plik_wejściowy, otwarty(znak wodny, "rb") Jak plik znaku wodnego:
input_pdf = PdfFileReader (plik_wejściowy)
watermark_pdf = PdfFileReader (plik_znaku wodnego)
strona_znaku_wodnego = znak_wodny_pdf.getPage (0)

Teraz nadszedł czas, aby scalić stronę znaku wodnego z każdą stroną w docelowym pliku PDF.

Utwórz obiekt klasy PdfFileWriter, który będzie używany do generowania wyjściowego pliku PDF. Zdefiniuj pętlę, która iteruje po każdej stronie w żądanym pliku PDF. Funkcja getNumPages() zwraca całkowitą liczbę stron w pliku PDF. Użyj funkcji getPage(), aby pobrać stronę i scalić ją z zapisaną wcześniej stroną ze znakiem wodnym.

Użyj obiektu PdfFileWriter, aby dodać każdą scaloną stronę do ostatecznego pliku PDF. Po utworzeniu wyjściowego pliku PDF otwórz plik wyjściowy w trybie zapisu binarnego i użyj funkcji write(), aby zapisać plik PDF ze znakiem wodnym w tym pliku.

 wyjście = PdfFileWriter()

DoIWzakres(wejście_pdf.getNumPages()):
pdf_page = input_pdf.getPage (i)
strona_pdf.mergePage(strona_znaku wodnego)
wyjście.Dodaj stronę(strona_pdf)

zotwarty(połączony, "wb") Jak plik_scalony:
wyjście.pisać(plik_scalony)

Na koniec wywołaj obie funkcje — makeWatermark() i makepdf() — aby utworzyć plik PDF ze znakiem wodnym:

makeWatermark()
makepdf()

Tekstowy plik PDF ze znakiem wodnym wygenerowany przy użyciu powyższego programu w języku Python wygląda następująco:

Dodatkowo możesz zastosować tę pięcioetapową metodę, aby utwórz i dodaj znak wodny do dowolnego obrazu za pomocą Canva. Możesz także użyć techniki znakowania wodnego filmów w ciągu zaledwie kilku minut.

Może się zdarzyć, że przez pomyłkę dodasz znak wodny i będziesz chciał go usunąć. Możesz bezpłatnie korzystać z narzędzi online, takich jak Soda PDF, Microsoft Word, Dokumenty Google i PDF Zorro. W przypadku obrazów możesz przeglądać narzędzia, takie jak Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft i Cutout.pro.

Aby bezpłatnie usunąć znak wodny z filmów, użyj Apowersoft, 123apps, PickFrom Blur i BeeCut.

Pamiętaj jednak, aby nie używać żadnych materiałów chronionych prawem autorskim bez zgody właściciela.