PDF Mosaic: How to create layers (Optional Content Groups) in PDF


Home       Features       Download       Tutorial       Version History       License       Source Code

 

See more details about layers here.

This sample shows you how to create multiple optional content groups.


 

C# :

using PDFMosaic;
using System;
 
namespace AddLayers
{
  class AddLayers
  {
    static void Main()
    {
      PDFDocument document = new PDFDocument();
      PDFPage page = new PDFPage(PDFPaperFormat.A4);
      document.Pages.Add(page);
      PDFCanvas canvas = page.Canvas;
 
      PDFSolidBrush br = new PDFSolidBrush(new PDFColorRGB(0, 0, 255));
 
      PDFLayer allContents = new PDFLayer("All contents");
      canvas.BeginMarkedContent(allContents);
 
      PDFLayer circle = new PDFLayer("Circle");
      canvas.BeginMarkedContent(circle);
      canvas.DrawCircle(br, 100, 100, 50);
      canvas.EndMarkedContent();
 
      PDFLayer text = new PDFLayer("Text");
      canvas.BeginMarkedContent(text);
      br.Color = new PDFColorRGB(0, 0, 0);
      canvas.DrawString("Text text", new PDFFont(PDFStandardFont.Helvetica, 14), br, 200, 100);
      canvas.EndMarkedContent();
 
      canvas.EndMarkedContent();
 
      document.OptionalContents.Layers.Add(circle);
      document.OptionalContents.Layers.Add(text);
      document.OptionalContents.Layers.Add(allContents);
 
      PDFOptionalContentGroup group = new PDFOptionalContentGroup();
      group.Add(new PDFOptionalContentGroupLayer(circle));
      group.Add(new PDFOptionalContentGroupLayer(text));
 
      document.OptionalContents.Configuration.Order.Add(new PDFOptionalContentGroupLayer(allContents));
      document.OptionalContents.Configuration.Order.Add(group);
 
      document.PageMode = PDFPageMode.OptionalContent;
      document.Save("AddLayers.pdf", true);
    }
  }
}

 

Visial Basic.NET :

Imports PDFMosaic
Imports System
 
Module AddLayers
  Sub Main()
    Dim document As New PDFDocument()
    Dim page As New PDFPage(PDFPaperFormat.A4)
    document.Pages.Add(page)
    Dim canvas = page.Canvas
 
    Dim br = New PDFSolidBrush(New PDFColorRGB(0, 0, 255))
 
    Dim allContents As New PDFLayer("All contents")
    canvas.BeginMarkedContent(allContents)
 
    Dim circle As New PDFLayer("Circle")
    canvas.BeginMarkedContent(circle)
    canvas.DrawCircle(br, 100, 100, 50)
    canvas.EndMarkedContent()
 
    Dim text As New PDFLayer("Text")
    canvas.BeginMarkedContent(text)
    br.Color = New PDFColorRGB(0, 0, 0)
    canvas.DrawString("Text text", New PDFFont(PDFStandardFont.Helvetica, 14), br, 200, 100)
    canvas.EndMarkedContent()
 
    canvas.EndMarkedContent()
 
    document.OptionalContents.Layers.Add(circle)
    document.OptionalContents.Layers.Add(text)
    document.OptionalContents.Layers.Add(allContents)
 
    Dim group As New PDFOptionalContentGroup()
    group.Add(New PDFOptionalContentGroupLayer(circle))
    group.Add(New PDFOptionalContentGroupLayer(text))
 
    document.OptionalContents.Configuration.Order.Add(New PDFOptionalContentGroupLayer(allContents))
    document.OptionalContents.Configuration.Order.Add(group)
 
    document.PageMode = PDFPageMode.OptionalContent
    document.Save("AddLayers.pdf", True)
  End Sub
End Module

 


Home       Features       Download       Tutorial       Version History       License       Source Code