Rendro.Protect (Rendro v0.2.0)

Copy Markdown View Source

Artifact-first PDF protection boundary.

This surface leaves the core render pipeline unchanged. Callers render to a %Rendro.Artifact{} first and then apply a protection adapter such as Rendro.Adapters.Qpdf.

Summary

Types

option()

@type option() ::
  {:adapter, module()}
  | {:algorithm, :aes_256}
  | {:open_password, String.t()}
  | {:owner_password, String.t()}
  | {:advisory_permissions, [permission()]}

options()

@type options() :: [option()]

permission()

@type permission() :: :print | :copy | :modify | :annotate | :fill_forms | :assemble

Functions

password(artifact, opts)

@spec password(Rendro.Artifact.t(), options()) ::
  {:ok, Rendro.Artifact.t()} | {:error, Rendro.Error.t()}

redact_opts(opts)

@spec redact_opts(options() | map()) :: map()

render_protected(doc, render_opts \\ [], protect_opts)

@spec render_protected(Rendro.Document.t(), Rendro.render_options(), options()) ::
  {:ok, Rendro.Artifact.t()} | {:error, Rendro.Error.t()}

supported_permissions()

@spec supported_permissions() :: [permission()]