Use your framework of choice
Use the same Core API in React, Vue, Svelte, Angular, Web Components, or plain TypeScript.
Build your product UI. Let Core handle PDF viewing, annotations, keyword review, secure output, and export.
Install Core, provide two host elements, give the scroll container an explicit size, and load a PDF.
npm install @inklayer-dev/core<div id="pdf-workspace">
<div id="pages"></div>
</div>html, body, #pdf-workspace {
height: 100%;
margin: 0;
}
#pages {
height: 100%;
overflow: auto;
background: #f2f4f7;
}import { createInkLayer } from '@inklayer-dev/core/capabilities'
import '@inklayer-dev/core/style'
const root = document.querySelector<HTMLElement>('#pdf-workspace')!
const pages = document.querySelector<HTMLElement>('#pages')!
const core = await createInkLayer({
root,
pageFlow: { container: pages, scale: 'page-width' }
})
await core.load({ url: '/documents/review.pdf', range: 'auto' })NOTE
InkLayer Core is headless: it owns PDF and annotation behavior while your framework owns the toolbar, panels, and workflow.
Pass Core a prepared set of terms or regular expressions—such as contract clauses, prohibited wording, account numbers, or dates. The Highlighter scans them together, previews matches in each rule's color, and gives your application an immutable review state. Accepted matches can become permanent Highlight annotations.
When matched text is sensitive, reuse the reviewed ranges to print or export a securely redacted copy. The on-screen review remains readable and color-coded; the generated PDF uses opaque coverings and image-only pages, so it contains no source text that can be selected from beneath a black box. Image-only output also flattens all other text, links, forms, and vector content.
Keyword Highlighter guide → · Secure redaction guide → · Highlighter demo → · Redaction demo →
Load PDF → · Create your first annotation → · Create your first keyword highlight → · Create your first keyword redaction → · Print and export →
Capability plugins connect one instance to application services such as logging, annotation storage, text input, printing, and downloads. Annotation Type Definitions add namespaced drawing tools. However you extend it, Core retains control of coordinates, validation, interaction, rendering, output, and cleanup.