介绍

为 React 提供可复制粘贴的 PDF 组件。基于 Takumi 和 Forme 构建,兼容 shadcn CLI。

pdfcn 提供设计精美、无障碍且可定制的 PDF 组件。它基于 TakumiForme 构建,并与 shadcn CLI 无缝配合。

设计理念

pdfcn 在文档生成上遵循 shadcn 模式:提供你可以完全拥有的复制粘贴组件,零锁定,并且内置开箱即用的合理默认值。

PDF 布局常被视为一次性模板:用渲染器特有的原语拼装,样式重复冗余,分页逻辑脆弱。pdfcn 采用了不同的思路。它贴近各渲染器的原语,让 API 在 Takumi 和 Forme 之间保持一致,并在你需要更多控制时允许你随时下沉到底层渲染器。

目标很简单:让生成的 PDF 像你技术栈中的其他部分一样,可组合、可主题化、无障碍且易于定制。

为什么选择 pdfcn?

大多数 PDF 组件方案要么过于固执己见,要么过于零散。pdfcn 为那些希望快速交付又不放弃控制权的团队而构建:

  • 代码归你所有: 把组件复制到你的项目中,一切皆可定制。
  • 快速上手: 运行一条命令,即可用生产就绪的默认值渲染你的第一个文档。
  • 自选引擎: 用相同的组件 API 配合 Takumi 或 Forme,需要时再下沉到渲染器原生 API。

特性

  • 零配置:凭借合理的默认值和感知渲染器的安装方式,开箱即用。
  • 主题感知:在组件、区块和两种渲染基础之间共享一致的 PDF 主题。
  • 可组合:用小型声明式组件构建发票、报告、表单和表格。
  • TypeScript:完整类型安全,Takumi 和 Forme 的公开 props 保持一致。
  • 复制粘贴:你的 PDF 代码归你所有。安装到项目中并定制每个细节。
  • shadcn 兼容:采用 shadcn 注册表格式,一条命令即可添加组件和区块。