Skip to main content

WebViewer Real-time Collaboration

A set of plug and play modules for enabling realtime collaboration in WebViewer

NEW

WebViewer Collaboration 2.0 has been released! See the changelog for more info.

[object Object]

Plug and play

Drop the modules into your existing app to quickly enable realtime collaboration.

[object Object]

Use any database

Easily hook up to your existing database, or use one of our defaults

[object Object]

Everything included

Let our modules handle everything. From notifications to authentication, it's all included.

Real time collaboration in less than
50 lines of code

Server

import CollabServer from '@pdftron/collab-server'
import CollabDB from '@pdftron/collab-db-postgresql'
const db = new CollabDBPostgreSQL({
host: '127.0.0.1',
port: 5432,
dbName: 'mydb',
username: 'postgres',
password: 'pdftron',
});
db.connectDB();
const resolvers = db.getResolvers();
const server = new CollabServer({
resolvers,
});
server.start(3000);

Client

import { CollabClient } from '@pdftron/collab-client'
import WebViewer from '@pdftron/webviewer'
const element = document.getElementById('viewer');
WebViewer({
path: '/lib/webviewer'
}, element).then(async instance => {
const client = new CollabClient({
url: 'http://localhost:3000',
subscriptionUrl: 'ws://localhost:3000/subscribe',
instance,
});
const user = await client.loginAnonymously('Joe');
const document = await user.getDocument('123');
await document.view('https://pdftron.s3.amazonaws.com/downloads/pl/webviewer-demo.pdf');
})

All features needed for a
seamless collaboration experience

Database agnostic

Whether you are using Postgres, SQL, Firebase, or any other database, WebViewer Collaboration will work for you

Real time annotation syncing

Sync users annotations in real time, including edits and deletions

User authentication & SSO

Authenticate and log-in users using your existing system. Also includes support for anonymous users

Document annotation versioning

Take snapshots of a document's annotations at a point in time, and revert the annotations to that state on demand.

Flexible user permissions

Fine tune control over what documents and annotations users are allowed to read, write, and edit

Email and browser notifications

Alert your users via email or browser notification when they receive a new message, or are invited to a new document

Scroll synchronization

Make sure all users are on the same page by synchronization their position on a document

Extensive logging

Keep track of what is happening on your server with our extensive Winston logging suite.

Built-in testing suite

Run our testing suite against your integration and instantly get detailed problem reports