Coverage matrix
Every tool, and exactly how much of it is reachable without the interface.
Tools
| Tool | Writes | SDK API | Coverage | Shortfall |
|---|---|---|---|---|
managePages | document structure | doc.pages | Full | — |
security | encryption settings | doc.security | Full | — |
search | nothing (read) | doc.text.search | Full | — |
note | note annotation | doc.annotations type note | Full | — |
freeText | free-text annotation | doc.annotations type freeText | Partial | Listed, moved, resized, its words rewritten and deleted. Not recolored: its color is its words', set when written. create() cannot make one — type it in the viewer |
link | link annotation | doc.annotations type link | Full | — |
highlight | square annotation | doc.annotations type square | Partial | Placed from code as a filled square, which other readers' comment lists name a Rectangle rather than a Highlight |
textHighlight | highlight annotation | doc.annotations type highlight | Partial | Placed from quads or a rectangle — rectangles from doc.text.search() work — but not by character range; no way to say "mark characters 10–25" |
stamp | stamp annotation + image | doc.annotations type stamp | Partial | Listed, moved, resized and deleted. create() refuses one (INVALID_ARGUMENT): its picture is its appearance, which only the tool draws |
editText | existing text objects | viewer.tools.editText | Partial | Text only — setText(id, '') deletes a block. No styling, move or resize. Requires a viewer |
erase | removes page objects | doc.annotations.delete | Partial | Deletes annotations only. Cannot remove page objects, which is most of what the tool erases |
selectText | underline / squiggly / strikeout annotation; black-out: a filled page object | doc.annotations types underline, squiggly, strikeout | Partial | The three marks are created from quads or a rectangle — not by character range — and listed by their own type; black-out has no API |
addText | text page object | — | None | — |
draw | ink annotation | doc.annotations type ink | Full | — |
line | line annotation | doc.annotations type line | Full | — |
arrow | line annotation | doc.annotations type line | Full | lineEndings: { end: 'openArrow' } |
rectangle | square annotation | doc.annotations type square | Full | — |
ellipse | circle annotation | doc.annotations type circle | Full | — |
polygon | polygon annotation | doc.annotations type polygon | Full | — |
polyline | polyline annotation | doc.annotations type polyline | Full | — |
check, cross, dot | stamp annotation (a mark) | doc.annotations type stamp | Partial | The Marks menu's one-click tick, cross and dot; listed, moved, resized and deleted like any stamp. create() refuses a stamp |
sign | image page object | — | None | — |
image | image page object | — | None | — |
pan | nothing (view) | — | n/a | View state, not document state |