PdfAction

sealed class PdfAction

A PDF action — ISO 32000-1 §12.6. Actions describe what happens when the user activates a link, button, form field, or document open/close event.

Common variants:

  • GoTo — jump to a destination in this document

  • GoToR — jump to a destination in another PDF

  • Launch — open an external file/application

  • Uri — open a URL

  • Named — execute a predefined viewer action (NextPage, Print, …)

  • JavaScript — run an embedded script

  • SubmitForm / ResetForm — interactive-form actions

Any action type we don't classify (Sound, Movie, Hide, SetOCGState, SetState, Trans, GoTo3DView, Rendition, ImportData, …) is exposed as Unknown with its raw dict preserved for caller inspection.

Each variant carries the source raw dict so callers can pick up fields we didn't extract (notably the /Next chain for compound actions).

Inheritors

Types

Link copied to clipboard
object Companion
Link copied to clipboard
data class GoTo(val destination: PdfObject, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class GoToE(val target: PdfDictionary?, val destination: PdfObject?, val newWindow: Boolean, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class GoToR(val filename: String, val destination: PdfObject?, val newWindow: Boolean, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class JavaScript(val script: String, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class Launch(val filename: String, val newWindow: Boolean, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class Named(val name: PdfAction.NamedActionType, val nameRaw: String, val raw: PdfDictionary) : PdfAction
Link copied to clipboard

Standard /Named action types (ISO 32000-1 §12.6.4.11 Table 211).

Link copied to clipboard
data class ResetForm(val fields: List<PdfObject>?, val flags: Int, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class SubmitForm(val url: String?, val fields: List<PdfObject>?, val flags: Int, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class Thread(val threadRef: PdfObject?, val beadRef: PdfObject?, val raw: PdfDictionary) : PdfAction
Link copied to clipboard
data class Unknown(val type: String, val raw: PdfDictionary) : PdfAction

Any action whose /S is unknown to this version of the parser, or which we decided not to fully model. The dict is preserved verbatim.

Link copied to clipboard
data class Uri(val uri: String, val isMap: Boolean, val raw: PdfDictionary) : PdfAction

Properties

Link copied to clipboard
abstract val raw: PdfDictionary