Водяные знаки – популярный метод указания на то, что содержимое документа является конфиденциальным или информация/данные, содержащиеся в документе, защищены авторским правом создателя. Аналогичным образом, во многих случаях документы с водяными знаками являются общими для всех заинтересованных сторон и партнеров внутри компании. Однако довольно сложно вручную применить водяной знак к куче документов один за другим. Поэтому, чтобы упростить этот процесс, нам нужна некоторая автоматизация.
В этой статье я покажу вам, как вы можете применить водяной знак к пакету файлов, включая несколько документов или изображений, за один раз с минимальными усилиями.
Доступно множество программных компонентов, которые позволяют добавлять водяные знаки. Я собираюсь использовать GroupDocs. Водяной знак API, который доступен для обоих .Платформы NET и Java. Плюсом использования этого API является то, что вы можете управлять внешним видом и размещением водяного знака, используя различные опции. Итак, давайте начнем.
Шаги
Вам необходимо выполнить следующие действия, чтобы применить водяной знак к документу:
- Загрузите документ
- Создание и инициализация объекта водяного знака
- Установите свойства водяного знака, такие как положение, размер, непрозрачность, шрифт и т.д.
- Добавить водяной знак к документу
- Сохраните документ
Вот как мы бы преобразовали эти шаги в код.
Код
- C#
DirectoryInfo dir = new DirectoryInfo(@"../../Documents/");
FileInfo[] files = dir.GetFiles();
// Iterate through the files
foreach (FileInfo file in files)
{
// Load document
using (Document doc = Document.Load(file.FullName))
{
// Initialize the font to be used for watermark
Font font = new Font("Calibre", 50, FontStyle.Bold | FontStyle.Italic);
// Create watermark
TextWatermark watermark = new TextWatermark("Protected", font);
// Set watermark properties
watermark.ForegroundColor = Color.Red;
watermark.TextAlignment = TextAlignment.Right;
watermark.Opacity = 0.5;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Center;
watermark.RotateAngle = -45;
// Apply watermark
doc.AddWatermark(watermark);
// Save document
doc.Save(Path.Combine("../../Output",file.Name));
}
}
- Ява
// Get files in the Documents folder
File folder = new File("./Documents/");
File[] listOfFiles = folder.listFiles();
// Iterate through the files
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
Document doc = Document.load(listOfFiles[i].getPath());
// Create watermark
Font font = new Font("Calibre", 50, FontStyle.Bold | FontStyle.Italic);
TextWatermark watermark = new TextWatermark("Protected", font);
// Set watermark properties
watermark.setForegroundColor(Color.getRed());
watermark.setTextAlignment(TextAlignment.Right);
watermark.setOpacity(0.5);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermark.setRotateAngle(-45);
// Apply watermark to the document
doc.addWatermark(watermark);
// Save document
doc.save("./Output/" + listOfFiles[i].getName());
doc.close();
}
}
Выход
исходный код
Загрузите полный готовый к запуску исходный код с GitHub .
Ваше здоровье!
Оригинал: “https://dev.to/usmanaziz/applying-the-watermark-to-a-batch-of-documents-images-33kj”