Maroto: A Go Library for Creating PDFs with Bootstrap-like Layouts
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
Maroto is an open-source Go library designed for creating PDFs in a fast and simple manner. It draws inspiration from Bootstrap, allowing developers to structure PDF content using a familiar grid system. This tool leverages gofpdf to provide an intuitive way to generate professional documents, automatically handling page breaks and headers.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
Maroto, a name derived from a Brazilian expression meaning an astute or clever person, is a powerful Go library for generating PDFs. It simplifies the complex process of PDF creation by adopting a layout approach similar to Bootstrap's grid system. Developers can define rows and columns, populating them with various components, making the process feel much like building a web page. Maroto intelligently manages page breaks, adding new pages as content expands and allowing for persistent headers across all pages. It is built upon the robust gofpdf library, ensuring reliable and high-quality PDF output.
Installation
Getting started with Maroto is straightforward. You can install the latest version using go get:
go get github.com/johnfercher/maroto/v2@v2.3.3
Examples
Maroto provides a clear and intuitive API for building your PDFs. You can define your document structure with rows, columns, and various elements. To explore practical implementations and see Maroto in action, you can run the examples included in the repository:
make examples
For comprehensive guidance and detailed code snippets, refer to the official Maroto v2 documentation.
Why Use Maroto?
Maroto offers several compelling reasons for developers looking to generate PDFs in Go:
- Bootstrap-Inspired Layout: Its grid system makes designing PDF layouts familiar and efficient for anyone accustomed to web development frameworks like Bootstrap.
- Simplicity and Speed: Designed for fast and simple PDF creation, it abstracts away much of the underlying complexity.
- Automatic Page Management: Maroto handles page breaks automatically, ensuring your content flows seamlessly across multiple pages without manual intervention.
- Persistent Headers: Easily define headers that will appear on every new page, perfect for branding or consistent information.
- Active Development: With a dedicated community and ongoing updates, Maroto continues to evolve and improve.
Links
- GitHub Repository: https://github.com/johnfercher/maroto
- GoDoc: https://pkg.go.dev/github.com/johnfercher/maroto/v2
- Maroto V2 Documentation: https://maroto.tech/#/README?id=maroto-v2
- Maroto V1 Branch: https://github.com/johnfercher/maroto/tree/v1
- Maroto V1 Documentation: https://maroto.tech/#/v1/README?id=deprecated
Related repositories
Similar repositories that may be relevant next.

llm-d Router: Intelligent Orchestration for Multi-Phase LLM Inference
September 25, 2026
The `llm-d-router` is a sophisticated Go service designed as an intelligent entry point for large language model (LLM) inference requests. It orchestrates complex, multi-phase LLM inference pipelines across specialized worker pools, routing requests through an Inference Gateway to disaggregated vLLM workers. By exposing OpenAI-compatible APIs, it simplifies integration and leverages Kubernetes for scalable, efficient deployments.

Inference Gateway: Unifying LLM Providers with a High-Performance API
September 25, 2026
Inference Gateway is an open-source, cloud-native, high-performance proxy server designed to unify access to various language model APIs. It provides a single OpenAI-compatible endpoint, simplifying interactions with multiple LLM providers, from local solutions like Ollama to major cloud platforms. This gateway enables seamless integration and management of diverse AI models, enhancing portability and data privacy.

Agent Orchestrator: Supervise Teams of Coding Agents from Planning to Merge
September 23, 2026
Agent Orchestrator is a powerful tool designed to run and supervise teams of coding agents throughout the entire development lifecycle, from initial planning to code merge. It supports a wide array of agent harnesses, including Claude Code and Codex, and operates across desktop, web, mobile, and cloud environments. This platform offers a unified workspace to manage and coordinate multiple agents, ensuring efficient and organized agent-driven development.

uta: A CLI Agent Orchestrator for Parallel AI Task Management
September 19, 2026
uta is a command-line interface (CLI) agent orchestrator designed to decompose complex goals into parallel subtasks. It can dispatch these tasks to various agent CLIs like Claude Code or Gemini CLI, record every step of the process, and synthesize the final results. This tool enhances agent capabilities by enabling parallelism and cross-provider task execution.
Source repository
Open the original repository on GitHub.
18 counted GitHub visits