WebViewer Real-time Collaboration
A set of plug and play modules for enabling realtime collaboration in WebViewer
WebViewer Collaboration 2.0 has been released! See the changelog for more info.
Plug and play
Drop the modules into your existing app to quickly enable realtime collaboration.
Use any database
Easily hook up to your existing database, or use one of our defaults
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