Водните знаци са ясен, но фин начин за идентифициране на собственика на определен файл. Въпреки че хората може да ги намират за досадни, те служат на целта си грациозно.
С воден знак можете не само да защитите вашите файлове, но и да добавите описателен текст, местоположение, време на генериране и др. Така че, следващия път, когато предадете задачата или дневника си, не забравяйте да добавите воден знак с помощта на тази проста програма на Python.
Какво представлява модулът ReportLab?
За да добавите воден знак към PDF файл, ще ви трябва добра библиотека като модула ReportLab. Това е библиотека с отворен код, която ви позволява да създавате PDF файлове, както и да добавяте диаграми, данни и графики към тях. Този модул ви помага да генерирате динамични pdf файлове, да конвертирате XML файлове в PDF файлове и да генерирате отчети. За да инсталирате ReportLab на вашата система, отворете терминал и въведете:
пип Инсталирай reportlab
Това инсталира ReportLab във вашата Python среда.
Какво представлява модулът PyPDF2?
PyPDF2 е популярна библиотека, която можете да използвате за извършване на различни полезни PDF операции. Те включват изрязване, сливане, разделяне, завъртане, трансформиране, добавяне на данни, щамповане и воден знак. Можете също така да шифровате и дешифрирате, да извличате текст, изображения и метаданни и да четете или добавяте PDF анотации. За да инсталирате PyPDF2 във вашата система, отворете терминал и въведете:
пип Инсталирай PyPDF2
Това инсталира PyPDF2 във вашата Python среда.
Как да добавите желания воден знак към PDF с помощта на Python
Добавянето на воден знак към PDF файл с помощта на Python е доста лесно. Ще създадете платно и ще начертаете текстовия воден знак, като използвате любимия си цвят и посока, след което ще го запишете като PDF.
След генерирането на този дизайн на воден знак от една страница можете да отворите и двата PDF файла и да ги обедините страница по страница. Ето, вашият PDF файл с воден знак е готов.
Започнете вашата програма чрез импортиране платно от pdfgen, находящ се в reportlab модул. Интерфейсът на pdfgen действа на най-ниското ниво за генериране на PDF файлове. Можете да го визуализирате като рисуване на дизайн и структура на документ върху страница. Класът canvas осигурява операциите, необходими за това.
Можете да мислите за платното като за лист обикновена хартия с декартови координати. Точката на произход (0,0) е в долния ляв ъгъл. Стойностите на координатите x и y нарастват, когато точките се отдалечават от началото, нагоре и надясно.
От библиотеката на ReportLab импортирайте инч, цвят, и размер на страницата. Програмата ще използва инчове като мерна единица. Има два цветови формата, налични в ReportLab: the RGB модел, и CYMK модел. RGB е за предпочитане, но ако искате повече контрол върху нивото на цветовете, които се появяват, когато отпечатате PDF, можете вместо това да изберете CYMK.
Както подсказва името, размерът на страницата е зададен на A4. Освен това импортирайте PdfFileReader и PdfFileWriter от PyPDF2 за извършване на операции за четене и запис на PDF файлове.
от reportlab.pdfgen импортиране платно
от reportlab.lib.units импортиране инч
от reportlab.lib импортиране цветове
от reportlab.lib.pagesizes импортиране A4
от PyPDF2 импортиране PdfFileReader, PdfFileWriter
Дефинирайте функция, наречена makeWatermark() за създаване на PDF файл с воден знак от една страница, който по-късно ще използвате за прилагане върху страниците на желания документ. Помолете потребителя да въведе текста на водния знак, като използва командата за въвеждане.
Използвайте платното, за да генерирате област за рисуване с името watermark.pdf и размер на страницата A4. The превеждам() функция премества началото в горния ляв ъгъл.
Задайте файла на текста в сиво с непрозрачност 0.6; по скала от 0-1, 0 е най-прозрачен, а 1 е най-непрозрачен. Задайте стила на шрифта Helvetica с размер 50. Приложете завъртане от 45 градуса в посока, обратна на часовниковата стрелка. Предайте координатите x и y заедно с текста, за да го начертаете върху платното и да го запишете с помощта на функцията save().
дефmakeWatermark():
текст = въвеждане(„Въведете текста на водния знак тук:“)
pdf = платно. Платно("воден знак.pdf", размер на страницата=A4)
pdf.превеждам(инч, инч)
pdf.setFillColor (colors.grey, alpha=0.6)
pdf.setFont("Хелветика", 50)
pdf.завъртане(45)
pdf.drawCentredString(400, 100, текст)
pdf.запазване()
PDF файлът с воден знак, който горната функция генерира, изглежда така:
Дефинирайте функция с име makepdf() за воден знак на страниците на PDF. Въведете името на файла, който искате да поставите воден знак, включително всички .pdf разширение. Инициализирайте променлива, за да съхраните името на PDF файла с воден знак. Отворете и двата файла в двоичен режим за четене.
Използвай PdfFileReader() за създаване на обект, който представлява всеки PDF файл. Използвай getPage() функция за получаване на първата и единствена страница от PDF с воден знак.
дефmakepdf():
pdf_файл = вход(„PDF файл:“)
воден знак = "воден знак.pdf"
обединени = "Watermarked.pdf"
сотворен(pdf_файл, "rb") като входен_файл, отворен(воден знак, "rb") като воден_знак_файл:
input_pdf = PdfFileReader (input_file)
watermark_pdf = PdfFileReader (воден_знак_файл)
watermark_page = watermark_pdf.getPage (0)
Сега е време да обедините страницата с воден знак с всяка страница в целевия PDF файл.
Създайте обект от класа PdfFileWriter, който да използвате за генериране на изходния PDF. Дефинирайте цикъл, който итерира всяка страница в желания PDF файл. Функцията getNumPages() връща общия брой страници в PDF. Използвайте функцията getPage(), за да получите страницата и да я обедините със страницата с воден знак, съхранена по-рано.
Използвайте обекта PdfFileWriter, за да добавите всяка обединена страница към крайния PDF файл. След като създадете изходния PDF, отворете изходния файл в двоичен режим за запис и използвайте функцията write(), за да запишете PDF файла с воден знак в този файл.
изход = PdfFileWriter()
заазвдиапазон(input_pdf.getNumPages()):
pdf_страница = input_pdf.getPage (i)
pdf_страница.mergePage(воден знак_страница)
изход.addPage(pdf_страница)
сотворен(обединени, "wb") като обединен_файл:
изход.пиши(обединен_файл)
Накрая извикайте и двете функции—makeWatermark() и makepdf()—за да създадете PDF файла с воден знак:
makeWatermark()
makepdf()
Текстът с воден знак PDF, генериран с помощта на горната програма Python, изглежда така:
Освен това можете да следвате този метод от пет стъпки, за да създавайте и добавяйте воден знак към всяко изображение с помощта на Canva. Можете също да използвате техники за воден знак на вашите видеоклипове само за няколко минути.
Възможно е да има моменти, когато сте добавили воден знак по погрешка и искате да го премахнете. Можете да използвате безплатно онлайн инструменти като Soda PDF, Microsoft Word, Google Docs и PDF Zorro. За изображения можете да изследвате инструменти като Wondershare PixCut, Inpaint, Aiseesoft, Apowersoft и Cutout.pro.
За безплатно премахване на воден знак във видеоклипове използвайте Apowersoft, 123apps, PickFrom Blur и BeeCut.
Въпреки това, не забравяйте да не използвате материали, защитени с авторски права, без разрешението на собственика.