# Introduction Copy-paste PDF components for React. Built on Takumi and Forme, works with the shadcn CLI. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). **pdfcn** provides beautifully designed, accessible, and customizable PDF components. Built on [Takumi](https://takumi.kane.tw/docs/pdf) and [Forme](https://docs.formepdf.com), and designed to work seamlessly with the [shadcn CLI](https://ui.shadcn.com). ## Philosophy [#philosophy] pdfcn follows the shadcn model for document generation: copy-paste components you can own, with zero lock-in and sensible defaults that work immediately. PDF layouts are often treated as one-off templates — assembled with renderer-specific primitives, duplicated styling, and brittle page-break logic. pdfcn takes a different approach. It stays close to each renderer's primitives, keeps the API familiar across Takumi and Forme, and lets you drop down to the underlying renderer whenever you need more control. The goal is simple: make generated PDFs feel like the rest of your stack — composable, themeable, accessible, and easy to customize. ## Why pdfcn? [#why-pdfcn] Most PDF component setups are either too opinionated or too scattered. pdfcn is built for teams that want to ship quickly without giving up control: * **Own Your Code:** Copy the components into your project and customize everything. * **Start Fast:** Run one command and render your first document with production-ready defaults. * **Choose Your Engine:** Use the same component API with Takumi or Forme, then drop to raw renderer APIs when needed. ## Features [#features]
# Installation Install PDF components, blocks, and themes from the registry. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Prerequisites [#prerequisites] A React project that can run either [Takumi](https://takumi.kane.tw/docs/pdf) or [Forme](https://docs.formepdf.com). ## Installation [#installation] Run the following command to add a Takumi component: ```bash npx shadcn@latest add @pdfcn/takumi/text ``` Forme components use the `forme/` namespace: ```bash npx shadcn@latest add @pdfcn/forme/text ``` The registry installs the matching renderer dependencies and the shared theme utilities required by the selected component. ## Usage [#usage] Import the installed component and use it inside your renderer's document primitives: ```tsx import { Document, Page } from "@/components/pdf/pdf-primitives"; import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { Text } from "@/components/pdf/text"; export function Invoice() { return ( Invoice ); } ``` For Forme, use `Document` and `Page` from `@formepdf/react`; the installed pdfcn component API stays the same. ## Install a Block [#install-a-block] Blocks are complete document templates composed from registry components: ```bash npx shadcn@latest add @pdfcn/takumi/invoice-minimal ``` Use the `forme/` namespace for the equivalent Forme document: ```bash npx shadcn@latest add @pdfcn/forme/invoice-minimal ``` ## Install a Theme [#install-a-theme] pdfcn ships theme presets that integrate with `PdfcnThemeProvider`: ```bash npx shadcn@latest add @pdfcn/takumi/theme-minimal ``` For Forme: ```bash npx shadcn@latest add @pdfcn/theme-minimal ``` # MCP Learn how to use the shadcn MCP (Model Context Protocol) server with pdfcn. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). [MCP](https://modelcontextprotocol.io/) is an open protocol that standardizes how applications provide context to LLMs. The shadcn CLI can register an MCP server so your editor can discover registry components—including items you install from **pdfcn** via the same CLI. ## Configure MCP [#configure-mcp] Run: ```bash npx shadcn@latest mcp init ``` Choose your MCP client when prompted, then enable the MCP server in that client to finish setup. ## Usage [#usage] With MCP enabled, you can ask your IDE to work with **Takumi** and **Forme** patterns and pdfcn registry components. Example prompts: * Build an invoice layout with **Table**, **Heading**, **Text**, and **KeyValue**. * Add a **QRCode** and **Signature** to a PDF document. * Create a report with **Graph**, **DataTable**, and **PageHeader**. * Lay out a PDF using **Section**, **Stack**, **Divider**, and **KeepTogether**. * Implement a multi-page flow with **PageBreak**, **PageNumber**, and **PageFooter**. Install components from this registry with `npx shadcn@latest add` and the JSON URL from each docs page. Components work with sensible defaults. # Registry Learn how to use the pdfcn registry with the shadcn CLI. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). The **pdfcn** registry ships Takumi and Forme components, blocks, and themes in the [shadcn registry format](https://ui.shadcn.com/docs/registry). Register the namespace once in `components.json`, then pull items by name with the CLI. ## Setup [#setup] Add a **registries** entry for this site. See the [shadcn registry documentation](https://ui.shadcn.com/docs/registry) for all `components.json` fields and behaviors. ```json { "registries": { "@pdfcn": "https://pdfcn.dev/r/{name}.json" } } ``` You can replace `@pdfcn` with another namespace; it only needs to match what you pass to `shadcn add`. ## Usage [#usage] Items are namespaced by base: `takumi/` for Takumi and `forme/` for Forme. Registry files follow these destinations: * Components install into `components/ui/`. * Blocks install into the configured blocks directory. Components declare their dependencies, so installing a component does not require additional setup. ### Takumi [#takumi] Install a component: ```bash npx shadcn@latest add @pdfcn/takumi/text ``` Install a block: ```bash npx shadcn@latest add @pdfcn/takumi/invoice-minimal ``` Without a registry alias, use the full URL (as on each docs page): ```bash npx shadcn@latest add https://pdfcn.dev/r/takumi/text.json ``` ### Forme [#forme] Install a component: ```bash npx shadcn@latest add @pdfcn/forme/text ``` Install a block: ```bash npx shadcn@latest add @pdfcn/forme/invoice-minimal ``` Without a registry alias, use the full URL (as on each docs page): ```bash npx shadcn@latest add https://pdfcn.dev/r/forme/text.json ``` # Blocks Pre-built invoices and reports composed from pdfcn components. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). # Components Here you can find all the PDF components available in the library. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). # Blueprint Dark slate with cyan accent, monospace headings, technical precision. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-blueprint ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { blueprintTheme } from "@/lib/pdf-themes/blueprint"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Corporate Blue-gray palette, Lato sans-serif, structured and dependable. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-corporate ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { corporateTheme } from "@/lib/pdf-themes/corporate"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Elegant Warm cream whites, amber/gold accent, classic editorial combination. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-elegant ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { elegantTheme } from "@/lib/pdf-themes/elegant"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Executive Deep navy palette, Merriweather serif headings, premium boardroom aesthetic. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-executive ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { executiveTheme } from "@/lib/pdf-themes/executive"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Forest Natural deep greens, Merriweather headings, earthy and trustworthy. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-forest ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { forestTheme } from "@/lib/pdf-themes/forest"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Themes Pre-built theme presets for styling your PDF components. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). # Minimal Courier headings, zinc neutrals, maximum whitespace. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-minimal ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { minimalTheme } from "@/lib/pdf-themes/minimal"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Modern All-Helvetica typography, slate-cool neutrals with subtle violet accent. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-modern ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { modernTheme } from "@/lib/pdf-themes/modern"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Professional Serif headings, refined zinc/slate palette, formal document feel. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-professional ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { professionalTheme } from "@/lib/pdf-themes/professional"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # Vivid Deep violet palette, Nunito rounded sans-serif, playful but professional. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/theme-vivid ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { vividTheme } from "@/lib/pdf-themes/vivid"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` # August 13, 2026 - Initial Release PDF components for React PDF, React PDF Renderer, and JSX PDF. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). We shipped the initial release of pdfcn with ready-to-use PDF components for Takumi PDF and Forme PDF.
# August 30, 2026 - Theme Builder Visual theme customization with live PDF preview, undo/redo, code export, and shareable URLs. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). We shipped the Theme Builder — a visual editor for customizing PDF themes with live preview, instant feedback, and one-click code export. ### What's new [#whats-new] * **Live PDF Preview** — See your theme applied in real time as you adjust colors, typography, spacing, and page settings * **Theme Picker** — Browse and switch between 9 built-in [presets](/docs/themes) (Professional, Modern, Minimal, Executive, Corporate, Elegant, Vivid, Forest, Blueprint) * **Undo / Redo** — Full history with keyboard shortcuts (⌘Z / ⌘⇧Z) * **Code Export** — Copy the theme config as a JSON object or TypeScript preset to drop into your project * **Shareable URLs** — Theme state is encoded in the URL hash so you can share an exact configuration with anyone * **Base-specific routing** — Separate theme builders for [Takumi PDF](/theme-builder/takumi) and [Forme PDF](/theme-builder/forme) * **Font preview** — See how your chosen body and heading fonts look at actual size before generating a PDF # Changelog Latest updates and announcements for pdfcn. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## August 2026 - Initial Release [#august-2026---initial-release] We shipped the initial release of pdfcn with ready-to-use PDF components for Takumi PDF and Forme PDF. # Event Agenda Print-ready conference, summit, or meeting agenda template with multi-day support, track legend, and concurrent sessions. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/event-agenda ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { EventAgendaDocument } from "@/components/pdf/event-agenda"; ``` ```tsx ``` ## API Reference [#api-reference] ### EventAgendaProps [#eventagendaprops] | Prop | Type | Description | | ------------------ | --------------- | --------------------------------------------------------------- | | `eventName` | `string` | The title or name of the event or conference. | | `date` | `string` | Start date of the event (e.g. "October 20, 2026"). | | `endDate` | `string?` | Optional end date for multi-day events. | | `venue` | `string` | Venue name or physical address. | | `days` | `DaySchedule[]` | Array of day schedules, each containing sessions. | | `tracks` | `Track[]?` | Color-coded conference tracks for the legend and session pills. | | `wifiInfo` | `string?` | Network credentials displayed in the footer. | | `emergencyContact` | `string?` | Important contact info displayed in the footer. | | `accentColor` | `string?` | Accent color for headers, badges, and highlights. | # Event Ticket Print-ready event admission ticket with event details, seat info, QR code scan-in area, and branding strip. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/event-ticket ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core qrcode ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { EventTicketDocument } from "@/components/pdf/event-ticket"; ``` ```tsx ``` ### With a pre-rendered QR image [#with-a-pre-rendered-qr-image] Provide `qrCodeUrl` to render an image instead of the generated QR code: ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | ----------------- | -------------------------------------------------------------------------------- | | `data` | `EventTicketData` | Ticket content: event, venue, times, seat, ticket type/number, and footer fields | | `theme` | `PdfcnTheme` | Optional theme override | # Gift Certificate Printable gift certificate template with decorative styling. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/gift-certificate ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { GiftCertificateDocument } from "@/components/pdf/gift-certificate"; ``` ```tsx ``` # Forme Invoice and report templates for the Forme base. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). # Invoice Classic Classic invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/invoice-classic ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceClassicDocument } from "@/components/pdf/invoice-classic"; ``` ```tsx ``` # Invoice Consultant Consultant-style invoice template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/invoice-consultant ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceConsultantDocument } from "@/components/pdf/invoice-consultant"; ``` ```tsx ``` # Invoice Corporate Corporate invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/invoice-corporate ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceCorporateDocument } from "@/components/pdf/invoice-corporate"; ``` ```tsx ``` # Invoice Creative Creative invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/invoice-creative ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceCreativeDocument } from "@/components/pdf/invoice-creative"; ``` ```tsx ``` # Invoice Minimal Minimal invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/invoice-minimal ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceMinimalDocument } from "@/components/pdf/invoice-minimal"; ``` ```tsx ``` # Invoice Modern Modern invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/invoice-modern ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceModernDocument } from "@/components/pdf/invoice-modern"; ``` ```tsx ``` # Lesson Plan Printable lesson plan for teachers with objectives, standards, materials, activities, and assessment. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/lesson-plan ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { LessonPlanDocument } from "@/components/pdf/lesson-plan"; ``` ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | ----------------- | ----------------------- | | `data` | `LessonPlanProps` | Lesson plan content | | `theme` | `PdfcnTheme` | Optional theme override | # Medical Intake Form Printable patient intake and registration form with personal, insurance, medical history, and consent sections. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/medical-intake-form ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { MedicalIntakeFormDocument } from "@/components/pdf/blocks/medical-intake-form/medical-intake-form"; ``` ```tsx ``` ## Sections [#sections] Every section is rendered by default and can be hidden by setting its prop to `false`. ```tsx ``` | Prop | Section | | ------------------ | ------------------------------------------------------------- | | `personalInfo` | Name, date of birth, gender, phone, email, and address fields | | `emergencyContact` | Contact name, relationship, and phone fields | | `insurance` | Provider, policy, group, and subscriber fields | | `medicalHistory` | Condition checklist with allergy and medication prompts | | `medications` | Medication, dosage, frequency, and prescribing doctor table | | `allergies` | Allergen, reaction, and severity table | | `reasonForVisit` | Free-text area for symptoms and reason for the visit | | `consent` | HIPAA authorization, treatment consent, and signature lines | ## Props [#props] | Prop | Type | Description | | --------------- | ------------ | ----------------------------------------------------------- | | `clinicName` | `string` | Clinic name shown in the header and consent text | | `clinicLogo` | `string` | Optional logo image source | | `clinicAddress` | `string` | Address shown in the header and footer | | `clinicPhone` | `string` | Phone number shown in the header and footer | | `accentColor` | `string` | Theme token or CSS color used for section rules and accents | | `theme` | `PdfcnTheme` | Theme override for the whole document | # Meeting Minutes Printable meeting minutes document with attendees, agenda, discussions, decisions, and action items. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/meeting-minutes ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { MeetingMinutesDocument } from "@/components/pdf/meeting-minutes"; ``` ```tsx ``` # Packing Slip Printable packing slip document with order details, itemized list, and shipping info. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/packing-slip ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PackingSlipDocument } from "@/components/pdf/packing-slip"; ``` ```tsx ``` # Press Release Printable press release document with headline, body, quotes, and media contact info. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/press-release ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PressReleaseDocument } from "@/components/pdf/press-release"; ``` ```tsx ``` # Report Financial Financial report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/report-financial ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { FinancialReportDocument } from "@/components/pdf/report-financial"; ``` ```tsx ``` # Report Marketing Marketing report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/report-marketing ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { MarketingReportDocument } from "@/components/pdf/report-marketing"; ``` ```tsx ``` # Report Operations Operations report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/report-operations ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { OperationsReportDocument } from "@/components/pdf/report-operations"; ``` ```tsx ``` # Report Security Security report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/report-security ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { SecurityReportDocument } from "@/components/pdf/report-security"; ``` ```tsx ``` # Shipping Label Print-ready 4x6 shipping label with sender, recipient, barcode area, and carrier info. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/shipping-label ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core qrcode ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { ShippingLabelDocument } from "@/components/pdf/shipping-label"; ``` ```tsx ``` ### With a carrier barcode image [#with-a-carrier-barcode-image] Provide `barcodeUrl` to render a full-width barcode image instead of the QR code: ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | ------------------- | ---------------------------------------------------------------- | | `data` | `ShippingLabelData` | Label content: addresses, carrier, tracking, and package details | | `theme` | `PdfcnTheme` | Optional theme override | # Work Order Printable service/maintenance work order with job details, parts used, labor tracking, and customer sign-off. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/work-order ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { WorkOrderDocument } from "@/components/pdf/work-order"; ``` ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | --------------- | ----------------------------- | | `data` | `WorkOrderData` | Work order content and totals | | `theme` | `PdfcnTheme` | Optional theme override | # Event Agenda Print-ready conference, summit, or meeting agenda template with multi-day support, track legend, and concurrent sessions. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/event-agenda ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { EventAgendaDocument } from "@/components/pdf/event-agenda"; ``` ```tsx ``` ## API Reference [#api-reference] ### EventAgendaProps [#eventagendaprops] | Prop | Type | Description | | ------------------ | --------------- | --------------------------------------------------------------- | | `eventName` | `string` | The title or name of the event or conference. | | `date` | `string` | Start date of the event (e.g. "October 20, 2026"). | | `endDate` | `string?` | Optional end date for multi-day events. | | `venue` | `string` | Venue name or physical address. | | `days` | `DaySchedule[]` | Array of day schedules, each containing sessions. | | `tracks` | `Track[]?` | Color-coded conference tracks for the legend and session pills. | | `wifiInfo` | `string?` | Network credentials displayed in the footer. | | `emergencyContact` | `string?` | Important contact info displayed in the footer. | | `accentColor` | `string?` | Accent color for headers, badges, and highlights. | # Event Ticket Print-ready event admission ticket with event details, seat info, QR code scan-in area, and branding strip. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/event-ticket ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers qrcode ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { EventTicketDocument } from "@/components/pdf/event-ticket"; ``` ```tsx ``` ### With a pre-rendered QR image [#with-a-pre-rendered-qr-image] Provide `qrCodeUrl` to render an image instead of the generated QR code: ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | ----------------- | -------------------------------------------------------------------------------- | | `data` | `EventTicketData` | Ticket content: event, venue, times, seat, ticket type/number, and footer fields | | `theme` | `PdfcnTheme` | Optional theme override | # Gift Certificate Printable gift certificate template with decorative styling. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/gift-certificate ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { GiftCertificateDocument } from "@/components/pdf/gift-certificate"; ``` ```tsx ``` # Takumi Invoice and report templates for the Takumi base. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). # Invoice Classic Classic invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/invoice-classic ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceClassicDocument } from "@/components/pdf/invoice-classic"; ``` ```tsx ``` # Invoice Consultant Consultant-style invoice template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/invoice-consultant ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceConsultantDocument } from "@/components/pdf/invoice-consultant"; ``` ```tsx ``` # Invoice Corporate Corporate invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/invoice-corporate ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceCorporateDocument } from "@/components/pdf/invoice-corporate"; ``` ```tsx ``` # Invoice Creative Creative invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/invoice-creative ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceCreativeDocument } from "@/components/pdf/invoice-creative"; ``` ```tsx ``` # Invoice Minimal Minimal invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/invoice-minimal ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceMinimalDocument } from "@/components/pdf/invoice-minimal"; ``` ```tsx ``` # Invoice Modern Modern invoice document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/invoice-modern ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { InvoiceModernDocument } from "@/components/pdf/invoice-modern"; ``` ```tsx ``` # Lesson Plan Printable lesson plan for teachers with objectives, standards, materials, activities, and assessment. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/lesson-plan ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { LessonPlanDocument } from "@/components/pdf/lesson-plan"; ``` ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | ----------------- | ----------------------- | | `data` | `LessonPlanProps` | Lesson plan content | | `theme` | `PdfcnTheme` | Optional theme override | # Medical Intake Form Printable patient intake and registration form with personal, insurance, medical history, and consent sections. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/medical-intake-form ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { MedicalIntakeFormDocument } from "@/components/pdf/blocks/medical-intake-form/medical-intake-form"; ``` ```tsx ``` ## Sections [#sections] Every section is rendered by default and can be hidden by setting its prop to `false`. ```tsx ``` | Prop | Section | | ------------------ | ------------------------------------------------------------- | | `personalInfo` | Name, date of birth, gender, phone, email, and address fields | | `emergencyContact` | Contact name, relationship, and phone fields | | `insurance` | Provider, policy, group, and subscriber fields | | `medicalHistory` | Condition checklist with allergy and medication prompts | | `medications` | Medication, dosage, frequency, and prescribing doctor table | | `allergies` | Allergen, reaction, and severity table | | `reasonForVisit` | Free-text area for symptoms and reason for the visit | | `consent` | HIPAA authorization, treatment consent, and signature lines | ## Props [#props] | Prop | Type | Description | | --------------- | ------------ | ----------------------------------------------------------- | | `clinicName` | `string` | Clinic name shown in the header and consent text | | `clinicLogo` | `string` | Optional logo image source | | `clinicAddress` | `string` | Address shown in the header and footer | | `clinicPhone` | `string` | Phone number shown in the header and footer | | `accentColor` | `string` | Theme token or CSS color used for section rules and accents | | `theme` | `PdfcnTheme` | Theme override for the whole document | # Meeting Minutes Printable meeting minutes document with attendees, agenda, discussions, decisions, and action items. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/meeting-minutes ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { MeetingMinutesDocument } from "@/components/pdf/meeting-minutes"; ``` ```tsx ``` # Packing Slip Printable packing slip document with order details, itemized list, and shipping info. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/packing-slip ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PackingSlipDocument } from "@/components/pdf/packing-slip"; ``` ```tsx ``` # Press Release Printable press release document with headline, body, quotes, and media contact info. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/press-release ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PressReleaseDocument } from "@/components/pdf/press-release"; ``` ```tsx ``` # Report Financial Financial report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/report-financial ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { FinancialReportDocument } from "@/components/pdf/report-financial"; ``` ```tsx ``` # Report Marketing Marketing report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/report-marketing ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { MarketingReportDocument } from "@/components/pdf/report-marketing"; ``` ```tsx ``` # Report Operations Operations report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/report-operations ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { OperationsReportDocument } from "@/components/pdf/report-operations"; ``` ```tsx ``` # Report Security Security report document template. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/report-security ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { SecurityReportDocument } from "@/components/pdf/report-security"; ``` ```tsx ``` # Shipping Label Print-ready 4x6 shipping label with sender, recipient, barcode area, and carrier info. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/shipping-label ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers qrcode ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { ShippingLabelDocument } from "@/components/pdf/shipping-label"; ``` ```tsx ``` ### With a carrier barcode image [#with-a-carrier-barcode-image] Provide `barcodeUrl` to render a full-width barcode image instead of the QR code: ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | ------------------- | ---------------------------------------------------------------- | | `data` | `ShippingLabelData` | Label content: addresses, carrier, tracking, and package details | | `theme` | `PdfcnTheme` | Optional theme override | # Work Order Printable service/maintenance work order with job details, parts used, labor tracking, and customer sign-off. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/work-order ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { WorkOrderDocument } from "@/components/pdf/work-order"; ``` ```tsx ``` ## Props [#props] | Prop | Type | Description | | ------- | --------------- | ----------------------------- | | `data` | `WorkOrderData` | Work order content and totals | | `theme` | `PdfcnTheme` | Optional theme override | # Alert Alert box with info, success, warning, and error variants. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/alert ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfAlert } from "@/components/pdf/alert"; ``` ```tsx Alert body ``` ## API Reference [#api-reference] ### PdfAlert [#pdfalert] | Prop | Type | Default | | ------------ | --------------------------------------------- | ------- | | `variant` | `'info' \| 'success' \| 'warning' \| 'error'` | 'info' | | `title` | `string` | - | | `children` | `ReactNode` | - | | `showIcon` | `boolean` | true | | `showBorder` | `boolean` | true | # Badge Compact status badge for labels and tags. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/badge ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Badge } from "@/components/pdf/badge"; ``` ```tsx Badge ``` ## API Reference [#api-reference] ### Badge [#badge] | Prop | Type | Default | | ------------ | ------------------------------------------------------------------------------------------ | --------- | | `label` | `string` | - | | `children` | `string` | - | | `variant` | `'default' \| 'primary' \| 'success' \| 'warning' \| 'destructive' \| 'info' \| 'outline'` | 'default' | | `size` | `'sm' \| 'md' \| 'lg'` | 'md' | | `background` | `string` | - | | `color` | `string` | - | # Card Bordered content card with title and body. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/card ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfCard } from "@/components/pdf/card"; ``` ```tsx Card body ``` ## API Reference [#api-reference] ### PdfCard [#pdfcard] | Prop | Type | Default | | ---------- | ------------------------------------ | ----------- | | `title` | `string` | - | | `children` | `ReactNode` | - | | `variant` | `'default' \| 'bordered' \| 'muted'` | `'default'` | | `padding` | `'sm' \| 'md' \| 'lg'` | `'md'` | | `wrap` | `boolean` | `false` | # Data Table Tabular data with columns and rows. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/data-table ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { DataTable } from "@/components/pdf/data-table"; ``` ```tsx ``` ### Variants [#variants] Use any `TableVariant` for the table treatment and `size="compact"` for denser reports. ```tsx ``` ## API Reference [#api-reference] ### DataTable [#datatable] | Prop | Type | Default | | --------- | ------------------------------------------------------------------------------------------- | ----------- | | `columns` | `DataTableColumn[]` | - | | `data` | `T[]` | - | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | `'grid'` | | `footer` | `Partial>` | - | | `stripe` | `boolean` | `false` | | `size` | `'default' \| 'compact'` | `'default'` | | `noWrap` | `boolean` | `false` | | `style` | `Style` | - | ### DataTableColumn [#datatablecolumn] `key` is the row-field accessor—for example, `key: "name"` reads `row.name`. It is not React's reserved `key` prop. | Prop | Type | Default | | -------------- | ------------------------------- | -------- | | `key` | `keyof T & string` | - | | `header` | `string` | - | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `width` | `string \| number` | - | | `render` | `(value, row) => ReactNode` | - | | `renderFooter` | `(value) => ReactNode` | - | # Divider Horizontal rule to separate sections. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/divider ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Divider } from "@/components/pdf/divider"; ``` ```tsx ``` ## API Reference [#api-reference] ### Divider [#divider] | Prop | Type | Default | | ----------- | --------------------------------- | --------- | | `spacing` | `'none' \| 'sm' \| 'md' \| 'lg'` | `'md'` | | `variant` | `'solid' \| 'dashed' \| 'dotted'` | `'solid'` | | `color` | `string` | - | | `thickness` | `'thin' \| 'medium' \| 'thick'` | `'thin'` | | `label` | `string` | - | | `width` | `string \| number` | - | # Form Labeled form groups for PDF inputs. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/form ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfForm } from "@/components/pdf/form"; ``` ```tsx ``` ### Variants [#variants] ```tsx ``` ## API Reference [#api-reference] ### PdfForm [#pdfform] | Prop | Type | Default | | --------------- | ----------------------------------------------- | ------------- | | `title` | `string` | - | | `subtitle` | `string` | - | | `groups` | `PdfFormGroup[]` | - | | `variant` | `'underline' \| 'box' \| 'outlined' \| 'ghost'` | `'underline'` | | `labelPosition` | `'above' \| 'left'` | `'above'` | | `noWrap` | `boolean` | `false` | | `style` | `Style` | - | Groups support `single`, `two-column`, and `three-column` layouts. # Graph Bar, line, and area charts drawn with SVG. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/graph ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfGraph } from "@/components/pdf/graph"; ``` ```tsx ``` ### Variants [#variants] ```tsx ``` ## API Reference [#api-reference] ### PdfGraph [#pdfgraph] | Prop | Type | Default | | ------------- | ------------------------------------------------------------------- | ---------- | | `variant` | `'bar' \| 'horizontal-bar' \| 'line' \| 'area' \| 'pie' \| 'donut'` | `'bar'` | | `data` | `GraphDataPoint[] \| GraphSeries[]` | - | | `title` | `string` | - | | `subtitle` | `string` | - | | `xLabel` | `string` | - | | `yLabel` | `string` | - | | `width` | `number` | `420` | | `height` | `number` | `260` | | `fullWidth` | `boolean` | `false` | | `colors` | `string[]` | theme | | `showValues` | `boolean` | `false` | | `showGrid` | `boolean` | `true` | | `legend` | `'bottom' \| 'right' \| 'none'` | `'bottom'` | | `centerLabel` | `string` | - | | `showDots` | `boolean` | `true` | | `smooth` | `boolean` | `false` | | `yTicks` | `number` | `5` | | `noWrap` | `boolean` | `true` | | `style` | `Style` | - | # Heading Document headings with typographic scale. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/heading ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Heading } from "@/components/pdf/heading"; ``` ```tsx Heading ``` ## API Reference [#api-reference] ### Heading [#heading] | Prop | Type | Default | | -------------- | ------------------------------------------------------- | ---------- | | `level` | `1 \| 2 \| 3 \| 4 \| 5 \| 6` | `1` | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `color` | `string` | - | | `transform` | `'uppercase' \| 'lowercase' \| 'capitalize'` | - | | `weight` | `'normal' \| 'medium' \| 'semibold' \| 'bold'` | `'bold'` | | `tracking` | `'tighter' \| 'tight' \| 'normal' \| 'wide' \| 'wider'` | `'normal'` | | `noMargin` | `boolean` | `false` | | `keepWithNext` | `boolean` | - | # Forme PDF UI primitives for the Forme base. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). # Keep Together Keeps children on the same PDF page. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/keep-together ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { KeepTogether } from "@/components/pdf/keep-together"; import { Text } from "@/components/pdf/text"; ``` ```tsx Keep these lines together. ``` ## API Reference [#api-reference] ### KeepTogether [#keeptogether] | Prop | Type | Default | | ------------------ | ----------- | ------- | | `children` | `ReactNode` | - | | `minPresenceAhead` | `number` | - | | `style` | `Style` | - | # Key Value Definition list of keys and values. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/key-value ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { KeyValue } from "@/components/pdf/key-value"; ``` ```tsx ``` ## API Reference [#api-reference] ### KeyValue [#keyvalue] | Prop | Type | Default | | ------------------ | ---------------------------- | ------------ | | `items` | `KeyValueEntry[]` | - | | `direction` | `'horizontal' \| 'vertical'` | 'horizontal' | | `divided` | `boolean` | false | | `size` | `'sm' \| 'md' \| 'lg'` | 'md' | | `labelFlex` | `number` | 1 | | `labelColor` | `string` | - | | `valueColor` | `string` | - | | `boldValue` | `boolean` | false | | `noWrap` | `boolean` | false | | `dividerColor` | `string` | - | | `dividerThickness` | `number` | - | | `dividerMargin` | `number` | - | # Link Clickable link styled for PDF documents. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/link ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Link } from "@/components/pdf/link"; ``` ```tsx Example ``` ## API Reference [#api-reference] ### Link [#link] | Prop | Type | Default | | ----------- | ----------------------------------- | ----------- | | `href` | `string` | - | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `color` | `string` | - | | `variant` | `'default' \| 'muted' \| 'primary'` | `'default'` | | `underline` | `'always' \| 'none'` | `'always'` | # List Ordered and unordered lists. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/list ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfList } from "@/components/pdf/list"; ``` ```tsx ``` ### Variants [#variants] ```tsx ``` ## API Reference [#api-reference] ### PdfList [#pdflist] | Prop | Type | Default | | --------- | ----------------------------------------------------------------------------------- | ---------- | | `items` | `ListItem[]` | - | | `variant` | `'bullet' \| 'numbered' \| 'checklist' \| 'icon' \| 'multi-level' \| 'descriptive'` | `'bullet'` | | `gap` | `'xs' \| 'sm' \| 'md'` | `'sm'` | | `noWrap` | `boolean` | `false` | | `style` | `Style` | - | # Page Break Forces a page break in the document. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/page-break ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PageBreak } from "@/components/pdf/page-break"; ``` ```tsx ``` ## API Reference [#api-reference] ### PageBreak [#pagebreak] | Prop | Type | Default | | ---------- | ------- | ------- | | `children` | `never` | - | # Page Footer Repeating page footer. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/page-footer ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PageFooter } from "@/components/pdf/page-footer"; ``` ```tsx ``` ## API Reference [#api-reference] ### PageFooter [#pagefooter] | Prop | Type | Default | | ------------- | ---------------------------------------------------------------------------------- | -------- | | `leftText` | `string` | - | | `rightText` | `string` | - | | `centerText` | `string` | - | | `variant` | `'simple' \| 'centered' \| 'branded' \| 'minimal' \| 'three-column' \| 'detailed'` | 'simple' | | `background` | `string` | - | | `textColor` | `string` | - | | `marginTop` | `number` | - | | `address` | `string` | - | | `phone` | `string` | - | | `email` | `string` | - | | `website` | `string` | - | | `fixed` | `boolean` | false | | `sticky` | `boolean` | false | | `pagePadding` | `number` | 0 | | `noWrap` | `boolean` | true | # Page Header Repeating page header. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/page-header ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PageHeader } from "@/components/pdf/page-header"; ``` ```tsx ``` ## API Reference [#api-reference] ### PageHeader [#pageheader] | Prop | Type | Default | | -------------- | ------------------------------------------------------------------------------------------------- | -------- | | `title` | `string` | - | | `subtitle` | `string` | - | | `rightText` | `string` | - | | `rightSubText` | `string` | - | | `variant` | `'simple' \| 'centered' \| 'minimal' \| 'branded' \| 'logo-left' \| 'logo-right' \| 'two-column'` | 'simple' | | `background` | `string` | - | | `titleColor` | `string` | - | | `marginBottom` | `number` | - | | `address` | `string` | - | | `phone` | `string` | - | | `email` | `string` | - | | `logo` | `ReactNode` | - | | `fixed` | `boolean` | false | | `noWrap` | `boolean` | true | # Page Number Current page number marker. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/page-number ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfPageNumber } from "@/components/pdf/page-number"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfPageNumber [#pdfpagenumber] | Prop | Type | Default | | ---------- | ------------------------------- | -------------------------- | | `format` | `string` | 'Page \{page} of \{total}' | | `align` | `'left' \| 'center' \| 'right'` | 'center' | | `size` | `'xs' \| 'sm' \| 'md'` | 'sm' | | `fixed` | `boolean` | false | | `muted` | `boolean` | true | | `children` | `never` | - | # PDF Image Embedded image with fit options. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/pdf-image ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfImage } from "@/components/pdf/pdf-image"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfImage [#pdfimage] | Prop | Type | Default | | -------------- | ------------------------------------------------------------------------------------------------------- | ----------- | | `src` | `string \| { uri: string; method?: string; headers?: Record; body?: string }` | - | | `variant` | `'default' \| 'full-width' \| 'thumbnail' \| 'avatar' \| 'cover' \| 'bordered' \| 'rounded'` | `'default'` | | `width` | `number \| string` | - | | `height` | `number \| string` | - | | `fit` | `'cover' \| 'contain' \| 'fill' \| 'none'` | - | | `position` | `string` | `'50% 50%'` | | `caption` | `string` | - | | `aspectRatio` | `number` | - | | `borderRadius` | `number` | - | | `noWrap` | `boolean` | `true` | | `style` | `Style` | - | # QR Code QR code generated from a string value. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/qrcode ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfQRCode } from "@/components/pdf/qrcode"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfQRCode [#pdfqrcode] | Prop | Type | Default | | ----------------- | -------------------------- | ------- | | `value` | `string` | - | | `size` | `number` | - | | `color` | `string` | - | | `backgroundColor` | `string` | - | | `errorLevel` | `'L' \| 'M' \| 'Q' \| 'H'` | - | | `margin` | `number` | - | | `caption` | `string` | - | | `children` | `never` | - | # Section Section wrapper with optional title. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/section ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Section } from "@/components/pdf/section"; import { Text } from "@/components/pdf/text"; ``` ```tsx
Section body
``` ## API Reference [#api-reference] ### Section [#section] | Prop | Type | Default | | ------------- | ------------------------------------------------- | --------- | | `spacing` | `'none' \| 'sm' \| 'md' \| 'lg' \| 'xl'` | 'md' | | `padding` | `'none' \| 'sm' \| 'md' \| 'lg'` | - | | `background` | `string` | - | | `border` | `boolean` | false | | `variant` | `'default' \| 'callout' \| 'highlight' \| 'card'` | 'default' | | `accentColor` | `string` | - | | `noWrap` | `boolean` | false | # Signature Signature block with name and label. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/signature ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfSignatureBlock } from "@/components/pdf/signature"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfSignatureBlock [#pdfsignatureblock] | Prop | Type | Default | | --------- | ------------------------------------ | -------- | | `variant` | `'single' \| 'double' \| 'inline'` | 'single' | | `label` | `string` | - | | `name` | `string` | - | | `title` | `string` | - | | `date` | `string` | - | | `signers` | `[SignatureSigner, SignatureSigner]` | - | | `style` | `Style` | - | # Stack Vertical stack with spacing. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/stack ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Stack } from "@/components/pdf/stack"; import { Text } from "@/components/pdf/text"; ``` ```tsx One Two ``` ## API Reference [#api-reference] ### Stack [#stack] | Prop | Type | Default | | ----------- | ------------------------------------------------------- | ---------- | | `gap` | `'none' \| 'sm' \| 'md' \| 'lg' \| 'xl'` | 'md' | | `direction` | `'vertical' \| 'horizontal'` | 'vertical' | | `align` | `'start' \| 'center' \| 'end' \| 'stretch'` | 'start' | | `justify` | `'start' \| 'center' \| 'end' \| 'between' \| 'around'` | 'start' | | `wrap` | `boolean` | false | | `noWrap` | `boolean` | false | # Table Low-level table primitives. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/table ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Table, TableBody, TableCell, TableHeader, TableRow, Text, } from "@/components/pdf/table"; ``` ```tsx Item
``` ### Variants [#variants] ```tsx {/* header, body, rows, and cells */}
``` ## API Reference [#api-reference] ### Table [#table] | Prop | Type | Default | | ------------- | ------------------------------------------------------------------------------------------- | -------- | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | `'line'` | | `zebraStripe` | `boolean` | `false` | | `noWrap` | `boolean` | `false` | | `children` | `ReactNode` | - | | `style` | `Style` | - | ### TableRow [#tablerow] | Prop | Type | Default | | --------- | ------------------------------------------------------------------------------------------- | --------- | | `header` | `boolean` | `false` | | `footer` | `boolean` | `false` | | `stripe` | `boolean` | `false` | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | inherited | ### TableCell [#tablecell] | Prop | Type | Default | | --------- | ------------------------------------------------------------------------------------------- | --------- | | `header` | `boolean` | `false` | | `footer` | `boolean` | `false` | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `width` | `string \| number` | - | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | inherited | # Text Body text with typography variants. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/text ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Text } from "@/components/pdf/text"; ``` ```tsx Hello from pdfcn ``` ## API Reference [#api-reference] ### Text [#text] | Prop | Type | Default | | ------------ | ---------------------------------------------------------- | ---------- | | `variant` | `'xs' \| 'sm' \| 'base' \| 'lg' \| 'xl' \| '2xl' \| '3xl'` | `'base'` | | `align` | `'left' \| 'center' \| 'right' \| 'justify'` | `'left'` | | `color` | `string` | - | | `weight` | `'normal' \| 'medium' \| 'semibold' \| 'bold'` | `'normal'` | | `italic` | `boolean` | `false` | | `decoration` | `'underline' \| 'line-through' \| 'none'` | `'none'` | | `transform` | `'uppercase' \| 'lowercase' \| 'capitalize'` | - | | `noMargin` | `boolean` | `false` | # Watermark Diagonal or centered watermark overlay. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/watermark ``` Install the following dependencies: ```bash npm install @formepdf/react @formepdf/core ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfWatermark } from "@/components/pdf/watermark"; import { Text } from "@/components/pdf/text"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfWatermark [#pdfwatermark] | Prop | Type | Default | | ---------- | -------------------------------------------------------------------------- | ------- | | `text` | `string` | - | | `opacity` | `number` | - | | `fontSize` | `number` | - | | `color` | `string` | - | | `angle` | `number` | - | | `position` | `'center' \| 'top-left' \| 'top-right' \| 'bottom-left' \| 'bottom-right'` | - | | `fixed` | `boolean` | true | | `children` | `never` | - | # Alert Alert box with info, success, warning, and error variants. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/alert ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfAlert } from "@/components/pdf/alert"; ``` ```tsx Alert body ``` ## API Reference [#api-reference] ### PdfAlert [#pdfalert] | Prop | Type | Default | | ------------ | --------------------------------------------- | -------- | | `variant` | `'info' \| 'success' \| 'warning' \| 'error'` | `'info'` | | `title` | `string` | - | | `children` | `ReactNode` | - | | `showIcon` | `boolean` | `true` | | `showBorder` | `boolean` | `true` | # Badge Compact status badge for labels and tags. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/badge ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Badge } from "@/components/pdf/badge"; ``` ```tsx Badge ``` ## API Reference [#api-reference] ### Badge [#badge] | Prop | Type | Default | | ------------ | ------------------------------------------------------------------------------------------ | ----------- | | `label` | `string` | - | | `children` | `string` | - | | `variant` | `'default' \| 'primary' \| 'success' \| 'warning' \| 'destructive' \| 'info' \| 'outline'` | `'default'` | | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | | `background` | `string` | - | | `color` | `string` | - | # Card Bordered content card with title and body. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/card ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfCard } from "@/components/pdf/card"; ``` ```tsx Card body ``` ## API Reference [#api-reference] ### PdfCard [#pdfcard] | Prop | Type | Default | | ---------- | ------------------------------------ | ----------- | | `title` | `string` | - | | `children` | `ReactNode` | - | | `variant` | `'default' \| 'bordered' \| 'muted'` | `'default'` | | `padding` | `'sm' \| 'md' \| 'lg'` | `'md'` | | `wrap` | `boolean` | `false` | # Data Table Tabular data with columns and rows. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/data-table ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { DataTable } from "@/components/pdf/data-table"; ``` ```tsx ``` ### Variants [#variants] Use any `TableVariant` for the table treatment and `size="compact"` for denser reports. ```tsx ``` ## API Reference [#api-reference] ### DataTable [#datatable] | Prop | Type | Default | | --------- | ------------------------------------------------------------------------------------------- | ----------- | | `columns` | `DataTableColumn[]` | - | | `data` | `T[]` | - | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | `'grid'` | | `footer` | `Partial>` | - | | `stripe` | `boolean` | `false` | | `size` | `'default' \| 'compact'` | `'default'` | | `noWrap` | `boolean` | `false` | | `style` | `Style` | - | ### DataTableColumn [#datatablecolumn] `key` is the row-field accessor—for example, `key: "name"` reads `row.name`. It is not React's reserved `key` prop. | Prop | Type | Default | | -------------- | ------------------------------- | -------- | | `key` | `keyof T & string` | - | | `header` | `string` | - | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `width` | `string \| number` | - | | `render` | `(value, row) => ReactNode` | - | | `renderFooter` | `(value) => ReactNode` | - | # Divider Horizontal rule to separate sections. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/divider ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Divider } from "@/components/pdf/divider"; ``` ```tsx ``` ## API Reference [#api-reference] ### Divider [#divider] | Prop | Type | Default | | ----------- | --------------------------------- | --------- | | `spacing` | `'none' \| 'sm' \| 'md' \| 'lg'` | `'md'` | | `variant` | `'solid' \| 'dashed' \| 'dotted'` | `'solid'` | | `color` | `string` | - | | `thickness` | `'thin' \| 'medium' \| 'thick'` | `'thin'` | | `label` | `string` | - | | `width` | `string \| number` | - | # Form Labeled form groups for PDF inputs. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/form ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfForm } from "@/components/pdf/form"; ``` ```tsx ``` ### Variants [#variants] ```tsx ``` ## API Reference [#api-reference] ### PdfForm [#pdfform] | Prop | Type | Default | | --------------- | ----------------------------------------------- | ------------- | | `title` | `string` | - | | `subtitle` | `string` | - | | `groups` | `PdfFormGroup[]` | - | | `variant` | `'underline' \| 'box' \| 'outlined' \| 'ghost'` | `'underline'` | | `labelPosition` | `'above' \| 'left'` | `'above'` | | `noWrap` | `boolean` | `false` | | `style` | `Style` | - | Groups support `single`, `two-column`, and `three-column` layouts. # Graph Bar, line, and area charts drawn with SVG. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/graph ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfGraph } from "@/components/pdf/graph"; ``` ```tsx ``` ### Variants [#variants] ```tsx ``` ## API Reference [#api-reference] ### PdfGraph [#pdfgraph] | Prop | Type | Default | | ------------- | ------------------------------------------------------------------- | ---------- | | `variant` | `'bar' \| 'horizontal-bar' \| 'line' \| 'area' \| 'pie' \| 'donut'` | `'bar'` | | `data` | `GraphDataPoint[] \| GraphSeries[]` | - | | `title` | `string` | - | | `subtitle` | `string` | - | | `xLabel` | `string` | - | | `yLabel` | `string` | - | | `width` | `number` | `420` | | `height` | `number` | `260` | | `fullWidth` | `boolean` | `false` | | `colors` | `string[]` | theme | | `showValues` | `boolean` | `false` | | `showGrid` | `boolean` | `true` | | `legend` | `'bottom' \| 'right' \| 'none'` | `'bottom'` | | `centerLabel` | `string` | - | | `showDots` | `boolean` | `true` | | `smooth` | `boolean` | `false` | | `yTicks` | `number` | `5` | | `noWrap` | `boolean` | `true` | | `style` | `Style` | - | # Heading Document headings with typographic scale. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/heading ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Heading } from "@/components/pdf/heading"; ``` ```tsx Heading ``` ## API Reference [#api-reference] ### Heading [#heading] | Prop | Type | Default | | -------------- | ------------------------------------------------------- | ---------- | | `level` | `1 \| 2 \| 3 \| 4 \| 5 \| 6` | `1` | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `color` | `string` | - | | `transform` | `'uppercase' \| 'lowercase' \| 'capitalize'` | - | | `weight` | `'normal' \| 'medium' \| 'semibold' \| 'bold'` | `'bold'` | | `tracking` | `'tighter' \| 'tight' \| 'normal' \| 'wide' \| 'wider'` | `'normal'` | | `noMargin` | `boolean` | `false` | | `keepWithNext` | `boolean` | - | # Takumi PDF UI primitives for the Takumi base. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). # Keep Together Keeps children on the same PDF page. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/keep-together ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { KeepTogether } from "@/components/pdf/keep-together"; import { Text } from "@/components/pdf/text"; ``` ```tsx Keep these lines together. ``` ## API Reference [#api-reference] ### KeepTogether [#keeptogether] | Prop | Type | Default | | ------------------ | ----------- | ------- | | `children` | `ReactNode` | - | | `minPresenceAhead` | `number` | - | | `style` | `Style` | - | # Key Value Definition list of keys and values. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/key-value ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { KeyValue } from "@/components/pdf/key-value"; ``` ```tsx ``` ## API Reference [#api-reference] ### KeyValue [#keyvalue] | Prop | Type | Default | | ------------------ | ---------------------------- | -------------- | | `items` | `KeyValueEntry[]` | - | | `direction` | `'horizontal' \| 'vertical'` | `'horizontal'` | | `divided` | `boolean` | `false` | | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | | `labelFlex` | `number` | `1` | | `labelColor` | `string` | - | | `valueColor` | `string` | - | | `boldValue` | `boolean` | `false` | | `noWrap` | `boolean` | `false` | | `dividerColor` | `string` | - | | `dividerThickness` | `number` | - | | `dividerMargin` | `number` | - | # Link Clickable link styled for PDF documents. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/link ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Link } from "@/components/pdf/link"; ``` ```tsx Example ``` ## API Reference [#api-reference] ### Link [#link] | Prop | Type | Default | | ----------- | ----------------------------------- | ----------- | | `href` | `string` | - | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `color` | `string` | - | | `variant` | `'default' \| 'muted' \| 'primary'` | `'default'` | | `underline` | `'always' \| 'none'` | `'always'` | # List Ordered and unordered lists. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/list ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfList } from "@/components/pdf/list"; ``` ```tsx ``` ### Variants [#variants] ```tsx ``` ## API Reference [#api-reference] ### PdfList [#pdflist] | Prop | Type | Default | | --------- | ----------------------------------------------------------------------------------- | ---------- | | `items` | `ListItem[]` | - | | `variant` | `'bullet' \| 'numbered' \| 'checklist' \| 'icon' \| 'multi-level' \| 'descriptive'` | `'bullet'` | | `gap` | `'xs' \| 'sm' \| 'md'` | `'sm'` | | `noWrap` | `boolean` | `false` | | `style` | `Style` | - | # Page Break Forces a page break in the document. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/page-break ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PageBreak } from "@/components/pdf/page-break"; ``` ```tsx ``` ## API Reference [#api-reference] ### PageBreak [#pagebreak] | Prop | Type | Default | | ---------- | ------- | ------- | | `children` | `never` | - | # Page Footer Repeating page footer. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/page-footer ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PageFooter } from "@/components/pdf/page-footer"; ``` ```tsx ``` ## API Reference [#api-reference] ### PageFooter [#pagefooter] | Prop | Type | Default | | ------------- | ---------------------------------------------------------------------------------- | ---------- | | `leftText` | `string` | - | | `rightText` | `string` | - | | `centerText` | `string` | - | | `variant` | `'simple' \| 'centered' \| 'branded' \| 'minimal' \| 'three-column' \| 'detailed'` | `'simple'` | | `background` | `string` | - | | `textColor` | `string` | - | | `marginTop` | `number` | - | | `address` | `string` | - | | `phone` | `string` | - | | `email` | `string` | - | | `website` | `string` | - | | `fixed` | `boolean` | `false` | | `sticky` | `boolean` | `false` | | `pagePadding` | `number` | `0` | | `noWrap` | `boolean` | `true` | # Page Header Repeating page header. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/page-header ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PageHeader } from "@/components/pdf/page-header"; ``` ```tsx ``` ## API Reference [#api-reference] ### PageHeader [#pageheader] | Prop | Type | Default | | -------------- | ------------------------------------------------------------------------------------------------- | ---------- | | `title` | `string` | - | | `subtitle` | `string` | - | | `rightText` | `string` | - | | `rightSubText` | `string` | - | | `variant` | `'simple' \| 'centered' \| 'minimal' \| 'branded' \| 'logo-left' \| 'logo-right' \| 'two-column'` | `'simple'` | | `background` | `string` | - | | `titleColor` | `string` | - | | `marginBottom` | `number` | - | | `address` | `string` | - | | `phone` | `string` | - | | `email` | `string` | - | | `logo` | `ReactNode` | - | | `fixed` | `boolean` | `false` | | `noWrap` | `boolean` | `true` | # Page Number Current page number marker. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/page-number ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfPageNumber } from "@/components/pdf/page-number"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfPageNumber [#pdfpagenumber] | Prop | Type | Default | | ---------- | ------------------------------- | -------------------------- | | `format` | `string` | `'Page {page} of {total}'` | | `align` | `'left' \| 'center' \| 'right'` | `'center'` | | `size` | `'xs' \| 'sm' \| 'md'` | `'sm'` | | `fixed` | `boolean` | `false` | | `muted` | `boolean` | `true` | | `children` | `never` | - | # PDF Image Embedded image with fit options. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/pdf-image ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfImage } from "@/components/pdf/pdf-image"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfImage [#pdfimage] | Prop | Type | Default | | -------------- | ------------------------------------------------------------------------------------------------------- | ----------- | | `src` | `string \| { uri: string; method?: string; headers?: Record; body?: string }` | - | | `variant` | `'default' \| 'full-width' \| 'thumbnail' \| 'avatar' \| 'cover' \| 'bordered' \| 'rounded'` | `'default'` | | `width` | `number \| string` | - | | `height` | `number \| string` | - | | `fit` | `'cover' \| 'contain' \| 'fill' \| 'none'` | - | | `position` | `string` | `'50% 50%'` | | `caption` | `string` | - | | `aspectRatio` | `number` | - | | `borderRadius` | `number` | - | | `noWrap` | `boolean` | `true` | | `style` | `Style` | - | # QR Code QR code generated from a string value. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/qrcode ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfQRCode } from "@/components/pdf/qrcode"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfQRCode [#pdfqrcode] | Prop | Type | Default | | ----------------- | -------------------------- | ------- | | `value` | `string` | - | | `size` | `number` | - | | `color` | `string` | - | | `backgroundColor` | `string` | - | | `errorLevel` | `'L' \| 'M' \| 'Q' \| 'H'` | - | | `margin` | `number` | - | | `caption` | `string` | - | | `children` | `never` | - | # Section Section wrapper with optional title. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/section ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Section } from "@/components/pdf/section"; import { Text } from "@/components/pdf/text"; ``` ```tsx
Section body
``` ## API Reference [#api-reference] ### Section [#section] | Prop | Type | Default | | ------------- | ------------------------------------------------- | ----------- | | `spacing` | `'none' \| 'sm' \| 'md' \| 'lg' \| 'xl'` | `'md'` | | `padding` | `'none' \| 'sm' \| 'md' \| 'lg'` | - | | `background` | `string` | - | | `border` | `boolean` | `false` | | `variant` | `'default' \| 'callout' \| 'highlight' \| 'card'` | `'default'` | | `accentColor` | `string` | - | | `noWrap` | `boolean` | `false` | # Signature Signature block with name and label. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/signature ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfSignatureBlock } from "@/components/pdf/signature"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfSignatureBlock [#pdfsignatureblock] | Prop | Type | Default | | --------- | ------------------------------------ | ---------- | | `variant` | `'single' \| 'double' \| 'inline'` | `'single'` | | `label` | `string` | - | | `name` | `string` | - | | `title` | `string` | - | | `date` | `string` | - | | `signers` | `[SignatureSigner, SignatureSigner]` | - | | `style` | `Style` | - | # Stack Vertical stack with spacing. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/stack ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Stack } from "@/components/pdf/stack"; import { Text } from "@/components/pdf/text"; ``` ```tsx One Two ``` ## API Reference [#api-reference] ### Stack [#stack] | Prop | Type | Default | | ----------- | ------------------------------------------------------- | ------------ | | `gap` | `'none' \| 'sm' \| 'md' \| 'lg' \| 'xl'` | `'md'` | | `direction` | `'vertical' \| 'horizontal'` | `'vertical'` | | `align` | `'start' \| 'center' \| 'end' \| 'stretch'` | `'start'` | | `justify` | `'start' \| 'center' \| 'end' \| 'between' \| 'around'` | `'start'` | | `wrap` | `boolean` | `false` | | `noWrap` | `boolean` | `false` | # Table Low-level table primitives. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/table ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Table, TableBody, TableCell, TableHeader, TableRow, Text, } from "@/components/pdf/table"; ``` ```tsx Item
``` ### Variants [#variants] ```tsx {/* header, body, rows, and cells */}
``` ## API Reference [#api-reference] ### Table [#table] | Prop | Type | Default | | ------------- | ------------------------------------------------------------------------------------------- | -------- | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | `'line'` | | `zebraStripe` | `boolean` | `false` | | `noWrap` | `boolean` | `false` | | `children` | `ReactNode` | - | | `style` | `Style` | - | ### TableRow [#tablerow] | Prop | Type | Default | | --------- | ------------------------------------------------------------------------------------------- | --------- | | `header` | `boolean` | `false` | | `footer` | `boolean` | `false` | | `stripe` | `boolean` | `false` | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | inherited | ### TableCell [#tablecell] | Prop | Type | Default | | --------- | ------------------------------------------------------------------------------------------- | --------- | | `header` | `boolean` | `false` | | `footer` | `boolean` | `false` | | `align` | `'left' \| 'center' \| 'right'` | `'left'` | | `width` | `string \| number` | - | | `variant` | `'line' \| 'grid' \| 'minimal' \| 'striped' \| 'compact' \| 'bordered' \| 'primary-header'` | inherited | # Text Body text with typography variants. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/text ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { Text } from "@/components/pdf/text"; ``` ```tsx Hello from pdfcn ``` ## API Reference [#api-reference] ### Text [#text] | Prop | Type | Default | | ------------ | ---------------------------------------------------------- | ---------- | | `variant` | `'xs' \| 'sm' \| 'base' \| 'lg' \| 'xl' \| '2xl' \| '3xl'` | `'base'` | | `align` | `'left' \| 'center' \| 'right' \| 'justify'` | `'left'` | | `color` | `string` | - | | `weight` | `'normal' \| 'medium' \| 'semibold' \| 'bold'` | `'normal'` | | `italic` | `boolean` | `false` | | `decoration` | `'underline' \| 'line-through' \| 'none'` | `'none'` | | `transform` | `'uppercase' \| 'lowercase' \| 'capitalize'` | - | | `noMargin` | `boolean` | `false` | # Watermark Diagonal or centered watermark overlay. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/watermark ``` Install the following dependencies: ```bash npm install takumi-pdf @takumi-rs/helpers ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfWatermark } from "@/components/pdf/watermark"; import { Text } from "@/components/pdf/text"; ``` ```tsx ``` ## API Reference [#api-reference] ### PdfWatermark [#pdfwatermark] | Prop | Type | Default | | ---------- | -------------------------------------------------------------------------- | ------- | | `text` | `string` | - | | `opacity` | `number` | - | | `fontSize` | `number` | - | | `color` | `string` | - | | `angle` | `number` | - | | `position` | `'center' \| 'top-left' \| 'top-right' \| 'bottom-left' \| 'bottom-right'` | - | | `fixed` | `boolean` | `true` | | `children` | `never` | - | # Theming Configure PDF themes, colors, typography, and spacing for Forme. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/forme/theme-provider ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { professionalTheme } from "@/lib/pdf-themes/professional"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` ## Color Tokens [#color-tokens] All color values must be hex strings (e.g., `#1a1a1a`). React PDF supports hex, `rgb()`, and `hsl()` — but NOT `oklch`. | Token | Purpose | | ------------------- | --------------------------- | | `foreground` | Primary text color | | `background` | Page background | | `muted` | Secondary backgrounds | | `mutedForeground` | Captions, footnotes | | `primary` | Brand/accent color | | `primaryForeground` | Text on primary backgrounds | | `border` | Table borders, dividers | | `accent` | Call-to-action elements | | `destructive` | Error states | | `success` | Success states | | `warning` | Warning states | | `info` | Informational states | ## Primitive Tokens [#primitive-tokens] Primitives define the raw design scales available to themes: * **Typography Scale** — Major Third (1.25) ratio with 12pt base * **Spacing Scale** — 4pt grid system * **Font Weights** — 400–700 * **Line Heights** — 1.2–1.6 * **Border Radius** — 0–8pt ## Custom Themes [#custom-themes] Use the `PdfcnTheme` interface to create custom themes while preserving the complete theme shape. ```tsx import type { PdfcnTheme } from "@/registry/themes"; import { defaultPrimitives } from "@/registry/themes"; export const oceanTheme: PdfcnTheme = { name: "ocean", primitives: defaultPrimitives, colors: { foreground: "#0f172a", background: "#ffffff", primary: "#0369a1", accent: "#0ea5e9", muted: "#f1f5f9", border: "#e2e8f0", mutedForeground: "#64748b", primaryForeground: "#ffffff", destructive: "#dc2626", success: "#16a34a", warning: "#d97706", info: "#0ea5e9", }, typography: { body: { fontFamily: "Helvetica", fontSize: 11, lineHeight: 1.6 }, heading: { fontFamily: "Times-Roman", fontWeight: 700, lineHeight: 1.25, fontSize: { h1: 32, h2: 24, h3: 20, h4: 16, h5: 14, h6: 12 }, }, }, spacing: { page: { marginTop: 56, marginRight: 48, marginBottom: 56, marginLeft: 48 }, sectionGap: 28, paragraphGap: 10, componentGap: 14, }, page: { size: "A4", orientation: "portrait" }, }; ``` ## Available Themes [#available-themes] # Theming Configure PDF themes, colors, typography, and spacing for Takumi. > For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md). ## Installation [#installation] Command Manual ```bash npx shadcn@latest add @pdfcn/takumi/theme-provider ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage [#usage] ```tsx import { PdfcnThemeProvider } from "@/components/pdf/theme-provider"; import { professionalTheme } from "@/lib/pdf-themes/professional"; export function Invoice() { return ( {/* Your PDF content */} ); } ``` ## Color Tokens [#color-tokens] All color values must be hex strings (e.g., `#1a1a1a`). React PDF supports hex, `rgb()`, and `hsl()` — but NOT `oklch`. | Token | Purpose | | ------------------- | --------------------------- | | `foreground` | Primary text color | | `background` | Page background | | `muted` | Secondary backgrounds | | `mutedForeground` | Captions, footnotes | | `primary` | Brand/accent color | | `primaryForeground` | Text on primary backgrounds | | `border` | Table borders, dividers | | `accent` | Call-to-action elements | | `destructive` | Error states | | `success` | Success states | | `warning` | Warning states | | `info` | Informational states | ## Primitive Tokens [#primitive-tokens] Primitives define the raw design scales available to themes: * **Typography Scale** — Major Third (1.25) ratio with 12pt base * **Spacing Scale** — 4pt grid system * **Font Weights** — 400–700 * **Line Heights** — 1.2–1.6 * **Border Radius** — 0–8pt ## Custom Themes [#custom-themes] Use the `PdfcnTheme` interface to create custom themes while preserving the complete theme shape. ```tsx import type { PdfcnTheme } from "@/registry/themes"; import { defaultPrimitives } from "@/registry/themes"; export const oceanTheme: PdfcnTheme = { name: "ocean", primitives: defaultPrimitives, colors: { foreground: "#0f172a", background: "#ffffff", primary: "#0369a1", accent: "#0ea5e9", muted: "#f1f5f9", border: "#e2e8f0", mutedForeground: "#64748b", primaryForeground: "#ffffff", destructive: "#dc2626", success: "#16a34a", warning: "#d97706", info: "#0ea5e9", }, typography: { body: { fontFamily: "Helvetica", fontSize: 11, lineHeight: 1.6 }, heading: { fontFamily: "Times-Roman", fontWeight: 700, lineHeight: 1.25, fontSize: { h1: 32, h2: 24, h3: 20, h4: 16, h5: 14, h6: 12 }, }, }, spacing: { page: { marginTop: 56, marginRight: 48, marginBottom: 56, marginLeft: 48 }, sectionGap: 28, paragraphGap: 10, componentGap: 14, }, page: { size: "A4", orientation: "portrait" }, }; ``` ## Available Themes [#available-themes]