Repolode
carlos7ags

carlos7ags/folio

一个 Go 语言 PDF 库,支持 HTML 转 PDF、排版引擎、表单、签名、条码和 PDF/A。

可替代:Adobe Acrobat

Star
873
Fork
57
未关闭 Issue
49
最近提交
3天前

这是什么?

Folio 是一个 Go 语言 PDF 库,提供排版引擎,可排版段落、表格、列表、Flex 布局和图片。它能在进程内把 HTML 和 CSS 转换为 PDF,无需无头浏览器或外部服务,也可以导入已有 PDF 作为模板并填入动态内容。

除生成外,Folio 还支持读取、合并 PDF 和提取文本,并能通过脱敏功能永久删除敏感文字。它可以创建 AcroForm 表单字段,添加 PAdES 数字签名(B-B、B-T、B-LT),支持外部签名器,并能输出 PDF/A 和带标签的 PDF。文字排版覆盖从左到右、从右到左、印度语系和 CJK 文字,条码支持 Code128、QR 和 EAN-13。

项目提供用于合并、查看和提取文本的命令行工具,以及一个 C 共享库,便于通过 FFI 在其他语言中调用。

核心功能

  • 01排版引擎支持表格、列表、Flex 布局、图片以及跨页拆分。
  • 02在进程内完成 HTML 和 CSS 到 PDF 的转换。
  • 03支持从左到右、从右到左、印度语系和 CJK 文字的排版。
  • 04支持文本、复选框、单选、下拉和签名等 AcroForm 表单字段。
  • 05支持 PAdES 数字签名,可接入 HSM、KMS 等外部签名器。
  • 06基于文本的脱敏功能会从内容流中移除敏感内容。
  • 07支持输出 PDF/A 和带标签的 PDF,并提供 C 共享库与命令行工具。

适用场景

  • 在 Go 后端生成发票、报告或收据。
  • 向现有 PDF 模板(如信纸或证书)中填入数据。
  • 生成需要 PDF/A 或带标签格式的归档与无障碍文档。
  • 在文档处理流程中为 PDF 添加签名或进行脱敏。

快速上手

  1. 1

    安装库

    go get github.com/carlos7ags/folio
  2. 2

    创建包含 README 中 Hello World 示例的 Go 文件并运行

    go run main.go

使用前须知

  • 需要 Go 1.25 或更新版本。
  • 部分 HTML 和 CSS 功能不受支持,详见 docs/CSS_SUPPORT.md。

标签

常见问题

folio 是什么?
一个 Go 语言 PDF 库,支持 HTML 转 PDF、排版引擎、表单、签名、条码和 PDF/A。 Folio 是一个 Go 语言 PDF 库,提供排版引擎,可排版段落、表格、列表、Flex 布局和图片。它能在进程内把 HTML 和 CSS 转换为 PDF,无需无头浏览器或外部服务,也可以导入已有 PDF 作为模板并填入动态内容。
folio 可以免费使用吗?用的什么许可证?
folio 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
folio 还在维护吗?
活跃维护中。folio 最近一次提交是在 2026年10月17日。
folio 适合用来做什么?
在 Go 后端生成发票、报告或收据。 向现有 PDF 模板(如信纸或证书)中填入数据。 生成需要 PDF/A 或带标签格式的归档与无障碍文档。 在文档处理流程中为 PDF 添加签名或进行脱敏。
folio 怎么安装和运行?
安装库: go get github.com/carlos7ags/folio 创建包含 README 中 Hello World 示例的 Go 文件并运行: go run main.go
在哪里获取 folio?
源代码和安装说明在 GitHub 上:https://github.com/carlos7ags/folio

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目