Как добавить водяные знаки в pdf в c#
Водяной знак в виде изображения — это логотип или знак, появляющийся на фоне цифровых документов и указывающий на владельца авторских прав на их содержимое. Нанесение водяного знака на PDF-документ с помощью изображения может предотвратить повторное использование или изменение данных. В этой статье показано, как добавить водяной знак в PDF на языке C# с помощью Free Spire.PDF for .NET.
Установка Free Spire.PDF с помощью NuGet
Вы можете установить пакет FreeSpire.PDF, выполнив поиск и установку через «Tool» -> «NuGet Package Manager» -> «Manage NuGet Packages for Solution», или установить его с помощью следующей команды NuGet:
PM> Install-Package FreeSpire.PDF
Добавление водяного знака в PDF в C#
Ниже описаны основные шаги по добавлению водяного знака в PDF-документ.
- Создайте объект PdfDocument и загрузите образец PDF-файла с помощью метода PdfDocument.LoadFromFile().
- Загрузите файл изображения с помощью метода Image.FromFile().
- Пройдитесь по страницам документа и получите конкретную страницу с помощью свойства PdfDocument.Pages[].
- Через свойство PdfPageBase.BackgroundImage установить изображение в качестве фона/водного знака текущей страницы. Установите положение и размер изображения с помощью свойства PdfPageBase.BackgroundRegion.
- Сохраните документ в другой PDF-файл с помощью метода PdfDocument.SaveToFile().
using Spire.Pdf;
using System.Drawing;
namespace AddImageWatermark
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument document = new PdfDocument();
//Load a sample PDF document
document.LoadFromFile(@"C:UsersAdministratorDesktopinput.pdf");
//Load an image
Image image = Image.FromFile(@"C:UsersAdministratorDesktoplogo.png");
//Get the image width and height
int imgWidth = image.Width;
int imgHeight = image.Height;
//Loop through the pages
for (int i = 0; i < document.Pages.Count; i++)
{
//Get the page width and height
float pageWidth = document.Pages[i].ActualSize.Width;
float pageHeight = document.Pages[i].ActualSize.Height;
//Set the background opacity
document.Pages[i].BackgroudOpacity = 0.3f;
//Set the background image of current page
document.Pages[i].BackgroundImage = image;
//Position the background image at the center of the page
Rectangle rect = new Rectangle((int)(pageWidth — imgWidth) / 2, (int)(pageHeight — imgHeight) / 2, imgWidth, imgHeight);
document.Pages[i].BackgroundRegion = rect;
}
//Save the document to file
document.SaveToFile("AddImageWatermark.pdf");
document.Close();
}
}
}
