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)
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); } } }
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
Get Your API Key
Explore Web API Docs
Explore Web API Samples
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
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: