ByteScout PDF Suite - C# - Use pdf layers with pdf sdk - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

ByteScout PDF Suite – C# – Use pdf layers with pdf sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout PDF Suite – C# – Use pdf layers with pdf sdk

How to use pdf layers with pdf sdk in C# using ByteScout PDF Suite

This code in C# shows how to use pdf layers with pdf sdk with this how to tutorial

Sample source code below will display you how to manage a complex task like use pdf layers with pdf sdk in C#. ByteScout PDF Suite is the set that includes 6 SDK products to work with PDF from generating rich PDF reports to extracting data from PDF documents and converting them to HTML. This bundle includes PDF (Generator) SDK, PDF Renderer SDK, PDF Extractor SDK, PDF to HTML SDK, PDF Viewer SDK and PDF Generator SDK for Javascript. It can be applied to use pdf layers with pdf sdk using C#.

These C# code samples for C# guide developers to speed up coding of the application when using ByteScout PDF Suite. Just copy and paste the code into your C# application’s code and follow the instructions. If you want to use these C# sample examples in one or many applications then they can be used easily.

You can download free trial version of ByteScout PDF Suite from our website with this and other source code samples for C#.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

Program.cs
      
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 result document in default associated application (for demo purpose) ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf"); processStartInfo.UseShellExecute = true; Process.Start(processStartInfo); } } }

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout PDF Suite Home Page

Explore ByteScout PDF Suite Documentation

Explore Samples

Sign Up for ByteScout PDF Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout PDF Suite Home Page

Explore ByteScout PDF Suite Documentation

Explore Samples

Sign Up for ByteScout PDF Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next