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
@type option() :: {:adapter, module()} | {:algorithm, :aes_256} | {:open_password, String.t()} | {:owner_password, String.t()} | {:advisory_permissions, [permission()]}
@type options() :: [option()]
@type permission() :: :print | :copy | :modify | :annotate | :fill_forms | :assemble
Functions
@spec password(Rendro.Artifact.t(), options()) :: {:ok, Rendro.Artifact.t()} | {:error, Rendro.Error.t()}
@spec render_protected(Rendro.Document.t(), Rendro.render_options(), options()) :: {:ok, Rendro.Artifact.t()} | {:error, Rendro.Error.t()}
@spec supported_permissions() :: [permission()]