Нанесение водяных знаков – это популярный метод, используемый для добавления наложения к документам, предоставляющего дополнительную информацию или фирменный стиль. Когда дело доходит до PDF-документов, добавление водяных знаков может быть достигнуто различными методами. В этой статье мы рассмотрим несколько методов с примерами кода, которые помогут вам добавлять водяные знаки в ваши PDF-файлы.
Метод 1: использование PyPDF2 (Python)
PyPDF2 — это библиотека Python, позволяющая манипулировать PDF-файлами. Вот пример того, как вы можете использовать PyPDF2 для добавления водяного знака в PDF:
import PyPDF2
def add_watermark(input_pdf, watermark_text, output_pdf):
watermark = PyPDF2.PdfFileReader(watermark_text)
input_file = PyPDF2.PdfFileReader(input_pdf)
output_file = PyPDF2.PdfFileWriter()
for page_num in range(input_file.getNumPages()):
page = input_file.getPage(page_num)
page.mergePage(watermark.getPage(0))
output_file.addPage(page)
with open(output_pdf, 'wb') as file:
output_file.write(file)
# Usage
add_watermark('input.pdf', 'watermark.pdf', 'output.pdf')
Метод 2: использование iText (Java)
iText — мощная библиотека Java для работы с PDF-файлами. Вот пример того, как вы можете использовать iText для добавления водяного знака в PDF:
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class WatermarkPDF {
public static void addWatermark(String inputPdf, String outputPdf, String watermarkText) throws IOException, DocumentException {
PdfReader reader = new PdfReader(inputPdf);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputPdf));
int pageCount = reader.getNumberOfPages();
PdfContentByte content;
for (int i = 1; i <= pageCount; i++) {
content = stamper.getUnderContent(i);
content.beginText();
content.setFontAndSize(BaseFont.createFont(), 48);
content.showTextAligned(Element.ALIGN_CENTER, watermarkText, 300, 400, 45);
content.endText();
}
stamper.close();
}
// Usage
public static void main(String[] args) throws IOException, DocumentException {
addWatermark("input.pdf", "output.pdf", "Confidential");
}
}
Метод 3: использование PDFtk (командная строка)
PDFtk — это инструмент командной строки для управления PDF-файлами. Вот пример того, как вы можете использовать PDFtk для добавления водяного знака в PDF:
pdftk input.pdf background watermark.pdf output output.pdf
Добавление водяных знаков в документы PDF — важная задача в различных сценариях. В этой статье мы рассмотрели три различных метода достижения этой цели, в том числе использование PyPDF2 в Python, iText в Java и PDFtk в качестве инструмента командной строки. В зависимости от ваших предпочтений и языка программирования, который вам удобен, вы можете выбрать метод, который соответствует вашим потребностям. Теперь, когда у вас есть эти методы и примеры кода, вы можете легко добавлять водяные знаки в свои PDF-документы.