Skip to content

fix: stamp annotations now support /CA opacity - #809

Open
marinaionel wants to merge 2 commits into
embedpdf:mainfrom
marinaionel:fix/stamp-annotation-opacity
Open

marinaionel wants to merge 2 commits into
embedpdf:mainfrom
marinaionel:fix/stamp-annotation-opacity

Conversation

@marinaionel

@marinaionel marinaionel commented Sep 12, 2026

Copy link
Copy Markdown

Fixes #795. Stamp annotations had no opacity field, so patching one was silently accepted but never actually rendered.

Adds opacity to StampAnnotationDTO/StampDraft/StampPatch and their wire schemas, matching every other annotation kind. The engine services layer now reads and writes /CA for stamps, core-annotation declares opacity as an editable stamp prop, and styleFromDTO derives it instead of hardcoding 1. A stamp tool can also declare a default opacity now, applied on placement (armed, click-to-place, and the programmatic placeStamp API).

Adds an opacity field to StampAnnotationDTO/StampDraft/StampPatch (and their
wire schemas), reads/writes /CA in the engine services layer, declares opacity
as an editable stamp prop in core-annotation's kind table, derives it into the
plugin model's style via styleFromDTO, allows a stamp tool's configured default
opacity (TOOL_DEFAULT_KEYS), and threads that default into every stamp
placement path (armed, click-to-place, and the programmatic placeStamp API).

Fixes embedpdf#795
@vercel

vercel Bot commented Sep 12, 2026

Copy link
Copy Markdown

@marinaionel is attempting to deploy a commit to the CloudPDF Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stamp annotations don't support opacity (PdfStampAnnoObject has no opacity field, Stamp renderer ignores it)

1 participant