ByteScout PDF SDK - C# - Use PDF Layers - ByteScout

ByteScout PDF SDK – C# – Use PDF Layers

  • Home
  • /
  • Articles
  • /
  • ByteScout PDF SDK – C# – Use PDF Layers

How to use PDF layers in C# using ByteScout PDF SDK

This tutorial will show how to use PDF layers in C#

Every ByteScout tool contains example C# source codes that you can find here or in the folder with installed ByteScout product. ByteScout PDF SDK: the library for pdf documents generation, modification and updates. Can also generate and fill PDF forms. Provides support for text (fonts, style, size, font family), layers, pdf form fields, vector and raster drawings. It can use PDF layers in C#.

This code snippet below for ByteScout PDF SDK works best when you need to quickly use PDF layers in your C# application. In order to implement the functionality, you should copy and paste this code for C# below into your code editor with your app, compile and run your application. This basic programming language sample code for C# will do the whole work for you to use PDF layers.

ByteScout free trial version is available for download from our website. It includes all these programming tutorials along with source code samples.

Try ByteScout PDF SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

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); } } }

Try ByteScout PDF SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)



Get 60 Day Free Trial or Visit ByteScout PDF SDK Home Page

Explore ByteScout PDF SDK Documentation

Get ByteScout PDF SDK Free Training


Get Your Free API Key

Explore Web API Documentation