InkLayer Documentation

InkLayer is a PDF viewer & annotation SDK built on PDF.js, with dual support for React and Vue. It provides PdfViewer for display-only use cases and PdfAnnotator for full annotation editing. These docs cover everything from quick start to in-depth API reference, helping you build PDF viewing, document review, annotation editing, and commenting systems quickly.

Who Is This For

InkLayer is for developers who:

  • Need to integrate PDF viewing or annotation into React or Vue projects
  • Want to skip PDF.js internals and get working annotation capabilities quickly
  • Are building products that require PDF interaction: document review, engineering drawing markup, online education, etc.

If you are building a PDF rendering engine from scratch, or need a fully custom rendering pipeline, InkLayer may not be the right fit.

Documentation Modules

ModuleDescription
Quick StartGet up and running with your first PDF viewer or annotation app in 5 minutes.
React ComponentsComplete PdfAnnotator / PdfViewer props, events, and usage examples.
Vue ComponentsPdfAnnotator / PdfViewer props, events, slots, and composables.
Annotation System14 annotation types, data model, coordinate system, and persistence formats.
Collaboration PermissionsOwnership, owner-only, administrator overrides, read-only mode, and document-level business rules.
Core API ReferenceAnnotation Core, Adapter interface, and Integration layer complete API reference.
ArchitectureLayered architecture, Adapter pattern, data flow, and dual-framework shared core design.
FAQInstallation, usage, performance optimization, and troubleshooting.

Version Information

PackageVersionFrameworkEngine
inklayer-reactReact 18+PDF.js 4.3+ / Konva 9.0
inklayer-vueVue 3.5+PDF.js 4.3+ / Konva 9.0

Prerequisites

Before you start using InkLayer, make sure your environment meets the following requirements:

  • React projects: React 18+, Node.js 18+
  • Vue projects: Vue 3.5+, Node.js 18+
  • Familiarity with PDF.js basics helps understand the internal rendering, but it is not required.

Ready? Jump into your first example with Quick Start. → Quick Start