PDFs,
built
with Vue.

Write a Vue component.
Get a PDF from it.

Install document components as source files. Fill them with your data, render with Forme, and edit the result in your own project.

Vue 3 + NuxtPowered by FormeDistributed via shadcn-vue
FIG. 01 / SAMPLE DOCUMENT
FORM & FIELD
Independent design studio
SAMPLE INVOICE
№ 2026—042

Good work.
On paper.

PAID
PREPARED FOR

Northstar Studio

48 Design Avenue
Portland, OR 97205
ISSUED

September 01, 2026

DUE DATE

September 30, 2026

DESCRIPTIONQTYAMOUNT
Brand identity system1$2,400.00
Website design1$3,200.00
Design documentation1$800.00
Total due$6,400.00
A NOTE FROM THE STUDIO

Thank you for trusting us with your next chapter.
Here's to making something that matters.

Synthetic invoice / illustrative valuesA4 / 210 × 297

In this registry

24PDF components20Document blocks09Theme presetsVue source files
in your repo

The source and
the PDF.

Pick a template to inspect its Vue source and rendered PDF. The examples use sample data.

InvoiceCorporate.vue
Template
Loading the document renderer…
Vue SFC → Forme → PDFView the block reference

Start with a part
or a whole document.

Registry installs place the Vue files in your project. You can edit them there.

Set the type,
color, and spacing.

Choose one of nine presets, adjust its tokens against a live PDF, and export the theme as TypeScript.

Open the theme builder

Install, edit,
render.

Read the installation guide
01 /

Install a component.

Add the registry to components.json. The shadcn-vue CLI brings in the component and its dependencies.

02 /

Pass your data.

The CLI writes a Vue file into your project. Bind your data and edit the markup or theme as needed.

03 /

Render the PDF.

Render with Forme in the browser or on your server. Download a PDF or return it from a Nuxt endpoint.

Terminal / After registry setup

npx shadcn-vue@latest add @pdfcn-vue/invoice-minimal

Start with an invoice.
Change everything else.

Build your first PDF
PDFCN / VUEVUE COMPONENTS FOR PDFS