MCPcopy Index your code
hub / github.com/pdfme/pdfme

github.com/pdfme/pdfme @6.1.11 sqlite

repository ↗ · DeepWiki ↗ · release 6.1.11 ↗
3,362 symbols 11,019 edges 543 files 345 documented · 10%
README

PDFME

Website | pdfme Cloud | Discord

pdfme is released under the MIT license. Ask DeepWiki Current npm package version. Downloads per month on npm.

TypeScript-based PDF generator and React-based UI. Open source, developed by the community, and completely free to use under the MIT license!

Features

Fast PDF Generator Easy PDF Template Design Simple JSON Template
Works on Node and in the browser. Use templates to generate PDFs—complex operations are not required. Anyone can easily create templates using the designer. Templates are JSON data that is easy to understand and work with.

Custom Feature Requests

While pdfme is an open-source project released under the MIT License, we are open to considering custom feature additions for a fee.
If you are willing to pay, we can evaluate and implement your requested features.
Please note that any additional functionality will always be released as open source. If this approach works for you, please contact us.

For a detailed list of supported features, please refer to the Supported Features page.

Documentation

For complete documentation on pdfme, please refer to the Getting Started guide.

For the planned next major release changes, see the migration guide draft.

Need interactive help? Use DeepWiki to ask questions about pdfme's documentation and source code directly.

CLI Workflow

For agentic workflows, local verification, or JSON-first template iteration, use @pdfme/cli.

  • pdfme validate: validate template or unified job JSON before generation
  • pdfme doctor: diagnose runtime, font, basePdf, and output-path issues before generate
  • pdfme generate --image --grid: generate PDFs and inspect layout via rendered page images

Examples Using pdfme

If you're looking for code examples to get started with pdfme, check out the pdfme-playground website and the playground source code. Setup instructions can be found in the DEVELOPMENT.md file.

Cloud Service Option

While pdfme is a powerful open-source library, we understand that some users might prefer a managed solution. For those looking for a ready-to-use, scalable PDF generation service without the hassle of setup and maintenance, we offer pdfme Cloud.

Try pdfme Cloud - Hassle-free PDF Generation

pdfme Cloud provides all the features of the open-source library, plus:

  • PDF generation at scale without infrastructure management
  • Hosted WYSIWYG template designer
  • Simple API integration
  • Automatic updates and maintenance

pdfme will always remain open source. The cloud service is an optional offering for those who prefer a managed solution.

Sponsors

Support this project by becoming a sponsor. Your logo will appear here with a link to your website.

ProgressLab photoquest_logo Famly New Sponsor
ProgressLab PhotoQuest Famly New Sponsor

Contributors

Special Thanks

I definitely could not have created pdfme without these libraries. I am grateful to the developers of these projects.

If you want to contribute to pdfme, please refer to the Development Guide.
We look forward to your contributions!

Extension points exported contracts — how you extend this code

Embeddable (Interface)
(no doc) [5 implementers]
packages/pdf-lib/src/api/Embeddable.ts
FileSystemFileHandle (Interface)
(no doc) [1 implementers]
playground/src/vite-env.d.ts
Schema (Interface)
(no doc)
packages/cli/src/grid.ts
ElementChildrenAttribute (Interface)
(no doc)
packages/jsx/src/jsx-runtime.ts
UseInitEventsParams (Interface)
(no doc)
packages/ui/src/hooks.ts
UIOptionsThemeToken (Interface)
(no doc)
packages/common/src/types.ts
Environment (Interface)
(no doc)
packages/converter/src/pdf2img.ts
RadioGroupSchema (Interface)
(no doc)
packages/schemas/src/radioGroup/index.ts

Core symbols most depended-on inside this repo

get
called by 374
packages/pdf-lib/src/core/objects/PDFDict.ts
push
called by 280
packages/pdf-lib/src/core/objects/PDFArray.ts
set
called by 273
packages/pdf-lib/src/core/objects/PDFDict.ts
create
called by 206
packages/pdf-lib/src/types/fontkit.ts
obj
called by 206
packages/pdf-lib/src/core/PDFContext.ts
assertIs
called by 172
packages/pdf-lib/src/utils/validators.ts
toString
called by 132
packages/pdf-lib/src/core/objects/PDFRef.ts
lookup
called by 126
packages/pdf-lib/src/core/PDFContext.ts

Shape

Function 1,690
Method 1,151
Class 340
Interface 153
Enum 28

Languages

TypeScript100%

Modules by API surface

packages/pdf-lib/src/core/errors.ts89 symbols
packages/pdf-lib/src/core/crypto.ts80 symbols
playground/src/lib/fileWorkspace.ts60 symbols
packages/jsx/src/render.ts59 symbols
packages/pdf-lib/src/api/operators.ts57 symbols
packages/pdf-lib/src/api/PDFPage.ts57 symbols
packages/cli/src/diagnostics.ts57 symbols
packages/pdf-lib/src/api/PDFDocument.ts51 symbols
packages/pdf-lib/src/core/interactive/ViewerPreferences.ts50 symbols
playground/src/routes/Templates.tsx44 symbols
packages/pdf-lib/src/api/errors.ts42 symbols
packages/converter/src/md2pdf.ts40 symbols

Dependencies from manifests, versioned

@dnd-kit/core6.0.8 · 1×
@dnd-kit/sortable10.0.0 · 1×
@dnd-kit/utilities3.2.2 · 1×
@docusaurus/core3.10.1 · 1×
@docusaurus/module-type-aliases3.10.1 · 1×
@docusaurus/plugin-client-redirects3.10.1 · 1×
@docusaurus/plugin-google-gtag3.10.1 · 1×
@docusaurus/preset-classic3.10.1 · 1×
@headlessui/react2.2.10 · 1×
@monaco-editor/react4.7.0 · 1×
@napi-rs/canvas1.0.0 · 1×
@pdf-lib/fontkit1.1.0 · 1×

For agents

$ claude mcp add pdfme \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact