Install DocCanvas into Laravel and give users a polished PDF reader with highlights, workspace clips, pen drawing, signer links, and browser-side exports. Your app keeps the auth, ownership rules, and data.
What's inside
One composer require
gives you the viewer, six kinds of annotations, a side
canvas for research clips, multi-file PDF merging,
Office-to-PDF conversion, signer-link workflows, and an
iframe bridge — all bound to the user who is already
logged into your app.
Six kinds of annotation — highlight, note, pin, region, excerpt, link. Each one stays anchored to its exact spot on the page, no matter how the reader zooms or re-flows.
Lift any selection onto a side canvas. Drag clips around, group them, and link them across pages or documents — the way you would on real index cards.
Sketch with a mouse, a finger, or an Apple Pencil on a pressure-sensitive layer. Add free-floating text boxes wherever you need them.
Every document comes with its own workspace canvas and notepad. Text and pen strokes are saved straight into your database.
Generate a one-time signer link and the recipient signs in a stripped-down viewer. Stamps and a full audit trail are saved back against the document.
Drop a stack of PDFs at once. The browser merges them with pdf-lib before a single upload reaches your server.
Word, Excel, PowerPoint, OpenDocument, RTF, and plain text are all accepted. LibreOffice converts them on the server, and the original file stays available for download.
Share a viewer link a recipient can open without an account. Only a small whitelist of read routes skip your auth — the rest stay locked down.
Bake highlights, pins, and signatures back into a downloadable PDF right in the browser. No server round-trip needed.
Built for phones and tablets — swipe-close drawers, double-tap to fit width, safe-area insets, and full Apple Pencil pressure on the canvas.
Embed inside Angular, React, or Vue with a signed URL. The bridge sends page and annotation events out to the parent window and takes navigation commands back.
Records belong to whichever guard and owner key you configure. Plug in a Laravel policy to add workspace or team rules without touching the package source.
Run the demo
On your first visit we log you in as a demo user, generate a sample PDF, and prepare a workspace for you. Pick a flow below, or open the viewer and start from a blank slate.
Drop any PDF or Office file into the viewer. Word, Excel, PowerPoint, OpenDocument, RTF, and plain text are converted on the server with LibreOffice.
Select text on the page, then save it as a highlight or lift it onto the workspace canvas next to your other clips.
Sketch with mouse, finger, or Apple Pencil on a pressure-sensitive canvas, and drop a text box wherever you need one.
Generate a signer link; the recipient opens a sign-only viewer through a one-time signed URL. Stamps and audit trail land back on the document.
Screenshots
Every image below is generated by
scripts/screenshots.mjs.
The script walks Playwright through each flow on the seeded
document and saves the PNGs into
public/screenshots/.
PDF on the left, draggable excerpts on the right.
A live yellow highlight saved against the document.
Pen strokes and a text box sharing the same canvas.
Signature pad mid-flow from a signed-URL session.
Pricing
One-time purchase per project. Includes the private Composer repository token, lifetime updates within the major version, and email support. Use it in commercial work, white-label it, and ship as many documents as your server can hold.
For independent developers shipping a single product.
For agencies and product teams running several apps.
For unlimited deployments and custom terms.
After purchase we email a license key plus credentials for
our private Composer registry. Add them to
auth.json, run
composer require aim/laravel-doccanvas,
publish the assets, migrate — same Laravel workflow
you already know.