Documentazione pdfcanvas
pdfcanvas è un motore di editing PDF client-side più un'interfaccia completa. Non ha backend, license key o telemetria. Queste pagine coprono installazione, API core ed editor pronto all'uso.
Avvio in cinque righe
npm i pdfcanvas pdfjs-dist pdf-lib @embedpdf/pdfium
import { PdfCanvas } from "pdfcanvas";
const pdf = new PdfCanvas(document.querySelector("#editor")!, {
workerSrc: "/pdfjs/pdf.worker.min.mjs",
pdfiumWasmUrl: "/pdfium/pdfium.wasm",
fontAssetsUrl: "/fonts/",
});
await pdf.load(file);Due entry point
- pdfcanvas — il motore: rendering, oggetti, pagine, cronologia, export.
- pdfcanvas/editor — l'interfaccia completa: toolbar, rail pagine, inspector, firme, template, autosalvataggio.
Requisiti
Qualsiasi browser moderno con WebAssembly. I tipi TypeScript sono inclusi. L'editor richiede un contenitore con altezza esplicita, per esempio un figlio flex con min-height: 0.
Asset self-hosted
Worker, CMaps, font standard e il file WebAssembly di PDFium devono essere serviti dal tuo dominio. La libreria non li carica mai da una CDN, ed è questo che tiene i documenti in locale.
In questa sezione
- Installare pdfcanvasInstalla pdfcanvas con npm, copia il worker PDF.js e i file WebAssembly di PDFium nella cartella public e monta l'editor. Note per Vite e Next.js.
- API coreAPI core di PdfCanvas: opzioni del costruttore, caricamento ed export, oggetti, pagine, cronologia, override del testo originale, zoom e strumenti.
- L'interfaccia completa dell'editorMonta l'editor pdfcanvas completo: toolbar, rail pagine, inspector, dialogo firma, template, autosalvataggio IndexedDB, drawer mobile e UI in inglese e italiano.
Domande frequenti
+Funziona con React, Vue o Svelte?
Sì. La libreria è TypeScript e DOM puro. Montala dentro una ref o un effect e chiama destroy() allo smontaggio.
+Esiste una build server-side?
No. Dipende da API del browser. Per pipeline Node usa una libreria dedicata.
+Quale motore PDF usa?
PDF.js per il rendering, PDFium compilato in WebAssembly per modificare il testo originale e pdf-lib per scrivere l'output.