Difference between revisions of "Viewer Layers"

From Wiki
Jump to navigation Jump to search
m
m (add OCG hint)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
< [[Layers]] | [[Basics]] | [[Presentations]] >
+
PDF has a concept of layers that you can enable and disable (at least in a few viewers). The official name is “optional content groups” (OCG). This has nothing to do with ConTeXt’s [[Layers]].
 
 
PDF has a concept of layers that you can enable and disable (at least in a few viewers). This has nothing to do with ConTeXt’s [[Layers]].
 
  
 
There’s no other documentation yet, maybe have a look into the sources {{src|attr-lay.mkiv}}, {{src|attr-lay.lua}} and {{src|lpdf-ren.lua}}. It’s also used in some presentation styles.
 
There’s no other documentation yet, maybe have a look into the sources {{src|attr-lay.mkiv}}, {{src|attr-lay.lua}} and {{src|lpdf-ren.lua}}. It’s also used in some presentation styles.
Line 48: Line 46:
  
 
Viewer layers are known to work within {{cmd|setlayer}} (see [[Layers]]), e.g. {{src|meta-ini.mkiv}}.
 
Viewer layers are known to work within {{cmd|setlayer}} (see [[Layers]]), e.g. {{src|meta-ini.mkiv}}.
 +
 +
 +
[[Category:PDF]]
 +
[[Category:Presentation]]
 +
[[Category:Layout]]

Latest revision as of 18:41, 19 June 2023

PDF has a concept of layers that you can enable and disable (at least in a few viewers). The official name is “optional content groups” (OCG). This has nothing to do with ConTeXt’s Layers.

There’s no other documentation yet, maybe have a look into the sources attr-lay.mkiv, attr-lay.lua and lpdf-ren.lua. It’s also used in some presentation styles.

\defineviewerlayer[Plane]
\setupviewerlayer[Plane][
  state=start,
  visible=no, % initially
  title=Test,
  %tag=, % don’t know?
  editable=yes, % in Acrobat Pro?
  printable=yes,
  export=yes, % exportable in xml?
  scope=global, % or local
]

\starttext
\input tufte

\startviewerlayer[Plane]
{\bfa TOP SECRET}
This information is on a different plane of existence.
\stopviewerlayer

\input knuth

\viewerlayer[Plane]{Some more hidden text...}
\stoptext

You can switch the visibility of layers with the JavaScript functions HideLayer and VideLayer (from scrn-fld.mkvi:

\defineviewerlayer[test]

\startviewerlayer[test]Hide Me\stopviewerlayer

\defineoverlay
   [WithTest]
   [{\overlayrollbutton[HideLayer{test}][VideLayer{test}]}]

\framed[background=WithTest]{toggle}


Viewer layers are known to work within \setlayer (see Layers), e.g. meta-ini.mkiv.