Repolode
johnfercher

johnfercher/maroto

一个 Go 语言 PDF 生成库,采用类似 Bootstrap 的行列栅格布局来排版文档。

Star
2,781
Fork
261
未关闭 Issue
66
最近提交
16天前

这是什么?

Maroto 是一个用 Go 以代码方式生成 PDF 文件的库。它的布局模型参考 Bootstrap:页面由 Row(行)组成,每行包含若干 Col(列),列中再放置文本、图片、线条、表格等组件,开发者无需手动定位每个元素。

库会自动分页,内容超出可用区域时新增页面。可以定义一个页眉,在每次新增页面时自动重复输出,页眉中同样可以包含行、线条或表格列表。底层渲染基于 gofpdf。

当前为 v2 版本,通过 go get 安装 github.com/johnfercher/maroto/v2 模块。仓库还提供了一组 Markdown 技能文件,用于指导 AI 编程助手使用 Maroto 生成 PDF。

核心功能

  • 01使用类似 Bootstrap 的行列栅格排版 PDF 内容。
  • 02内容超出可用区域时自动新增页面。
  • 03支持每页重复输出的页眉,页眉可包含行、线条和表格。
  • 04底层基于 gofpdf 进行 PDF 渲染。
  • 05提供供 AI 编程助手使用的技能文件。

适用场景

  • 在 Go 后端服务中生成发票或报表。
  • 生成跨页重复表头的可打印表格和表单。
  • 让 AI 编程助手依据内置说明生成 PDF 相关代码。

快速上手

  1. 1

    使用 go get 安装该库

    go get github.com/johnfercher/maroto/v2@v2.4.4

使用前须知

  • Maroto 是 PDF 生成库,不能作为独立应用运行。
  • 它基于较旧的 gofpdf 后端构建。

收录于专题

标签

常见问题

maroto 是什么?
一个 Go 语言 PDF 生成库,采用类似 Bootstrap 的行列栅格布局来排版文档。 Maroto 是一个用 Go 以代码方式生成 PDF 文件的库。它的布局模型参考 Bootstrap:页面由 Row(行)组成,每行包含若干 Col(列),列中再放置文本、图片、线条、表格等组件,开发者无需手动定位每个元素。
maroto 可以免费使用吗?用的什么许可证?
maroto 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
maroto 还在维护吗?
活跃维护中。maroto 最近一次提交是在 2026年10月22日。
maroto 适合用来做什么?
在 Go 后端服务中生成发票或报表。 生成跨页重复表头的可打印表格和表单。 让 AI 编程助手依据内置说明生成 PDF 相关代码。
maroto 怎么安装和运行?
使用 go get 安装该库: go get github.com/johnfercher/maroto/v2@v2.4.4
在哪里获取 maroto?
源代码和安装说明在 GitHub 上:https://github.com/johnfercher/maroto

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

相关项目