How to watermark PDF document by puting background logo image into each page of PDF document using ByteScout PDF SDK - ByteScout

How to watermark PDF document by puting background logo image into each page of PDF document using ByteScout PDF SDK

  • Home
  • /
  • Articles
  • /
  • How to watermark PDF document by puting background logo image into each page of PDF document using ByteScout PDF SDK

Watermarking existing PDF document using PNG logo image watermark.

This example demonstrates how to watermark existing PDF document with PNG logo image using ByteScout PDF SDK
Output watermarked PDF document watermarked using ByteScout PDF SDK

Program.vb:
VB

[vb]’*******************************************************************
‘ ByteScout PDF SDK

‘ Copyright © 2016 Bytescout, https://bytescout.com
‘ ALL RIGHTS RESERVED

‘*******************************************************************

Imports System.Drawing
Imports Bytescout.PDF

”’ <summary>
”’ This example demonstrates how to add layers with optional content.
”’ </summary>
Class Program

Shared Sub Main()

‘ Create new document
Dim pdfDocument = New Document()
pdfDocument.RegistrationName = "demo"
pdfDocument.RegistrationKey = "demo"
‘ Add page
Dim page = New Page(PaperFormat.A4)
pdfDocument.Pages.Add(page)

Dim canvas = page.Canvas

‘ Add main layer
Dim allContents = New Layer("Main Layer")
canvas.BeginMarkedContent(allContents)

‘ Add sub-layer
Dim layer1 = New Layer("Square")
canvas.BeginMarkedContent(layer1)
canvas.DrawRectangle(New Bytescout.PDF.SolidBrush(New ColorRGB(0, 255, 0)), 20, 20, 100, 100)
canvas.EndMarkedContent()

‘ Add second sub-layer
Dim layer2 = New Layer("Circle")
canvas.BeginMarkedContent(layer2)
canvas.DrawCircle(New Bytescout.PDF.SolidBrush(New ColorRGB(255, 0, 0)), 70, 180, 50)
canvas.EndMarkedContent()

‘ Add third sub-layer
Dim layer3 = New Layer("Triangle")
canvas.BeginMarkedContent(layer3)
canvas.DrawPolygon(New Bytescout.PDF.SolidBrush(New ColorRGB(0, 0, 255)), New PointF() {New PointF(20, 340), New PointF(70, 240), New PointF(120, 340)})
canvas.EndMarkedContent()

canvas.EndMarkedContent()

pdfDocument.OptionalContents.Layers.Add(layer1)
pdfDocument.OptionalContents.Layers.Add(layer2)
pdfDocument.OptionalContents.Layers.Add(layer3)
pdfDocument.OptionalContents.Layers.Add(allContents)

‘ Configure layers

‘ Group sub-layers
Dim group = New OptionalContentGroup()
group.Add(New OptionalContentGroupLayer(layer1))
group.Add(New OptionalContentGroupLayer(layer2))
group.Add(New OptionalContentGroupLayer(layer3))

‘ Order sub-layers
pdfDocument.OptionalContents.Configuration.Order.Add(New OptionalContentGroupLayer(allContents))
pdfDocument.OptionalContents.Configuration.Order.Add(group)

‘ Make the third layer invisible by default (for example)
pdfDocument.OptionalContents.Configuration.OFF.Add(layer3)

‘ Force the PDF viewer to show the layers panel initially
pdfDocument.PageMode = PageMode.OptionalContent

‘ Save document to file
pdfDocument.Save("result.pdf")

‘ Cleanup
pdfDocument.Dispose()

‘ Open document in default PDF viewer app
Process.Start("result.pdf")

End Sub

End Class [/vb]

Program.cs:
C#

[vb]//*******************************************************************
// ByteScout PDF SDK
//
// Copyright © 2016 ByteScout – https://bytescout.com
// ALL RIGHTS RESERVED
//
//*******************************************************************

using System.Diagnostics;
using System.Drawing;
using Bytescout.PDF;
using SolidBrush = Bytescout.PDF.SolidBrush;

namespace Layers
{
/// <summary>
/// This example demonstrates how to add layers with optional content.
/// </summary>
class Program
{
static void Main()
{
// Create new document
Document pdfDocument = new Document();
pdfDocument.RegistrationName = "demo";
pdfDocument.RegistrationKey = "demo";
// Add page
Page page = new Page(PaperFormat.A4);
pdfDocument.Pages.Add(page);

Canvas canvas = page.Canvas;

// Add main layer
Layer allContents = new Layer("Main Layer");
canvas.BeginMarkedContent(allContents);

// Add sub-layer
Layer layer1 = new Layer("Square");
canvas.BeginMarkedContent(layer1);
canvas.DrawRectangle(new SolidBrush(new ColorRGB(0, 255, 0)), 20, 20, 100, 100);
canvas.EndMarkedContent();

// Add second sub-layer
Layer layer2 = new Layer("Circle");
canvas.BeginMarkedContent(layer2);
canvas.DrawCircle(new SolidBrush(new ColorRGB(255, 0, 0)), 70, 180, 50);
canvas.EndMarkedContent();

// Add third sub-layer
Layer layer3 = new Layer("Triangle");
canvas.BeginMarkedContent(layer3);
canvas.DrawPolygon(new SolidBrush(new ColorRGB(0, 0, 255)), new PointF[] { new PointF(20, 340), new PointF(70, 240), new PointF(120, 340) });
canvas.EndMarkedContent();

canvas.EndMarkedContent();

pdfDocument.OptionalContents.Layers.Add(layer1);
pdfDocument.OptionalContents.Layers.Add(layer2);
pdfDocument.OptionalContents.Layers.Add(layer3);
pdfDocument.OptionalContents.Layers.Add(allContents);

// Configure layers

// Group sub-layers
OptionalContentGroup group = new OptionalContentGroup();
group.Add(new OptionalContentGroupLayer(layer1));
group.Add(new OptionalContentGroupLayer(layer2));
group.Add(new OptionalContentGroupLayer(layer3));

// Order sub-layers
pdfDocument.OptionalContents.Configuration.Order.Add(new OptionalContentGroupLayer(allContents));
pdfDocument.OptionalContents.Configuration.Order.Add(group);

// Make the third layer invisible by default (for example)
pdfDocument.OptionalContents.Configuration.OFF.Add(layer3);

// Force the PDF viewer to show the layers panel initially
pdfDocument.PageMode = PageMode.OptionalContent;

// Save document to file
pdfDocument.Save("result.pdf");

// Cleanup
pdfDocument.Dispose();

// Open document in default PDF viewer app
Process.Start("result.pdf");
}
}
} [/vb]

Tutorials:

prev
next