Как добавить водяной знак (watermark) в PDF файл на C# и .NET


Полный код

using System;
using System.IO;
using System.Collections;

namespace Sample
{

    class Test
    {

        static void Main(string[] args)
        {
			// Activate your license here
			// SautinSoft.PdfMetamorphosis.SetLicense("1234567890");

            SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();

            SautinSoft.PdfMetamorphosis.WaterMark w1 = new SautinSoft.PdfMetamorphosis.WaterMark(@"..\..\..\WaterMark.png");
            w1.PosX.Mm = 0;
            w1.PosX.Mm = 0;
            w1.PosDX.Mm = 50;
            w1.PosDY.Mm = 50;

            p.WaterMarks.Add(w1);

            if (p != null)
            {
                string rtfPath = @"..\..\..\example.rtf";
                string pdfPath = Path.ChangeExtension(rtfPath, ".pdf");

                int i = p.RtfToPdfConvertFile(rtfPath, pdfPath);

                if (i != 0)
                {
                    System.Console.WriteLine("An error occurred during converting RTF to PDF!");
                }
                else
                {
                    System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(pdfPath) { UseShellExecute = true });
                }
            }
        }
    }
}

Download


Module sample

    Sub Main()
				' Activate your license here
				' SautinSoft.PdfMetamorphosis.SetLicense("1234567890")

        Dim p As New SautinSoft.PdfMetamorphosis()

        Dim w1 As New SautinSoft.PdfMetamorphosis.WaterMark("..\..\..\WaterMark.png")

        w1.PosX.Mm = 0
        w1.PosX.Mm = 0
        w1.PosDX.Mm = 50
        w1.PosDY.Mm = 50

        p.WaterMarks.Add(w1)

        Dim w2 As SautinSoft.PdfMetamorphosis.WaterMark = p.WaterMarks.Add()
        w2.Img = System.Drawing.Image.FromFile("..\..\..\WaterMark.png")
        w2.Transparency = 20
        w2.PosX.Mm = 60
        w2.PosY.Mm = 0
        w2.PosDX.Mm = 100
        w2.PosDY.Mm = 100
        w2.SelectedPages = New Integer() {1}

        If p IsNot Nothing Then
            Dim rtfPath As String = "..\..\..\example.rtf"
            Dim pdfPath As String = "..\..\..\test.pdf"

            Dim i As Integer = p.RtfToPdfConvertFile(rtfPath, pdfPath)

            If i <> 0 Then
                System.Console.WriteLine("An error occurred during converting RTF to PDF!")
            Else
                System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pdfPath) With {.UseShellExecute = True})
            End If
        End If
    End Sub
End Module

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу [email protected] или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.