ByteScout PDF SDK - VBScript and VB6 - Layers - 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 SDK – VBScript and VB6 – Layers

  • Home
  • /
  • Articles
  • /
  • ByteScout PDF SDK – VBScript and VB6 – Layers

ByteScout PDF SDK – VBScript and VB6 – Layers

Layers.vbs

' This example demonstrates how to add layers with optional content.

' Create Bytescout.PDF.Document object
Set pdfDocument = CreateObject("Bytescout.PDF.Document")
pdfDocument.RegistrationName = "demo"
pdfDocument.RegistrationKey = "demo"

Set comHelpers = pdfDocument.ComHelpers

' Add page
Set page1 = comHelpers.CreatePage(comHelpers.PAPERFORMAT_A4)
pdfDocument.Pages.Add(page1)

Set canvas = page1.Canvas

' Add main layer
Set allContents = comHelpers.CreateLayer("Main Layer")
canvas.BeginMarkedContent(allContents)

' Add sub-layer
Set layer1 = comHelpers.CreateLayer("Square")
canvas.BeginMarkedContent(layer1)
canvas.DrawRectangle_2 comHelpers.CreateSolidBrush(comHelpers.CreateColorRGB(0, 255, 0)), 20, 20, 100, 100
canvas.EndMarkedContent()

' Add second sub-layer
Set layer2 = comHelpers.CreateLayer("Circle")
canvas.BeginMarkedContent(layer2)
canvas.DrawCircle_2 comHelpers.CreateSolidBrush(comHelpers.CreateColorRGB(255, 0, 0)), 70, 180, 50
canvas.EndMarkedContent()

' Add third sub-layer
Set layer3 = comHelpers.CreateLayer("Triangle")
canvas.BeginMarkedContent(layer3)
Set pointsArray = comHelpers.CreatePointsArray(Array(Array(20, 340), Array(70, 240), Array(120, 340)))
canvas.DrawPolygon_2 comHelpers.CreateSolidBrush(comHelpers.CreateColorRGB(0, 0, 255)), (pointsArray)
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
Set group = comHelpers.CreateOptionalContentGroup()
group.Add(comHelpers.CreateOptionalContentGroupLayer((layer1)))
group.Add(comHelpers.CreateOptionalContentGroupLayer((layer2)))
group.Add(comHelpers.CreateOptionalContentGroupLayer((layer3)))

' Order sub-layers
pdfDocument.OptionalContents.Configuration.Order.Add(comHelpers.CreateOptionalContentGroupLayer((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 = comHelpers.PAGEMODE_OPTIONALCONTENT

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

' Open document in default PDF viewer app
Set shell = CreateObject("WScript.Shell")
shell.Run "result.pdf", 1, false


  Click here to get your Free Trial version of the SDK

Tutorials:

prev
next