使用 Go 語言生成樣式美觀的 PDF 文件

在當今數字化時代,PDF 已成爲一種不可或缺的文檔格式,它能夠在各種平臺上保持一致的顯示效果。然而,使用傳統的編程語言生成 PDF 文件往往是一項繁瑣而複雜的任務。Maroto 的出現爲 Go 語言開發者帶來了福音,它提供了一種簡潔優雅的方式來創建結構清晰、樣式美觀的 PDF 文檔。

Maroto 簡介

Maroto 是一個基於 Go 語言的 PDF 生成庫,其靈感來源於 Bootstrap 框架,並使用了 gofpdf 作爲底層庫。Maroto 的設計理念是將 PDF 文檔視爲一個網頁,通過類似 Bootstrap 的網格系統來組織內容,並提供豐富的組件來構建各種常見的文檔元素。

Maroto 的優勢

Maroto 的主要優勢在於其簡潔易用、功能強大:

使用 Maroto 創建 PDF 文檔

使用 Maroto 創建 PDF 文檔的過程非常簡單,只需幾行代碼即可完成。

安裝 Maroto

go get github.com/johnfercher/maroto/v2

創建一個簡單的 PDF 文檔

package main

import (
 "os"

 "github.com/johnfercher/maroto/v2/pkg/consts"
 "github.com/johnfercher/maroto/v2/pkg/pdf"
 "github.com/johnfercher/maroto/v2/pkg/props"
)

func main() {
 m := pdf.NewMaroto(consts.Portrait, consts.A4)
 m.SetPageMargins(20, 10, 20)

 m.RegisterHeader(func() {
  m.GetPageMargins()
  m.Row(10, func() {
   m.Col(12, func() {
    m.Text("Maroto Example", props.Text{
     Top:   5,
     Style: consts.Bold,
     Align: consts.Center,
    })
   })
  })
 })

 m.Row(20, func() {
  m.Col(6, func() {
   m.Text("Hello, World!", props.Text{
    Top:   10,
    Style: consts.BoldItalic,
    Align: consts.Left,
   })
  })
 })

 err := m.OutputFileAndClose("example.pdf")
 if err != nil {
  os.Exit(1)
 }
}

Maroto 的核心概念

Maroto 的核心概念包括:

Maroto 的應用場景

Maroto 適用於各種 PDF 文檔生成場景,例如:

總結

Maroto 是一個功能強大、易於使用的 Go 語言 PDF 生成庫,它爲開發者提供了一種簡潔優雅的方式來創建結構清晰、樣式美觀的 PDF 文檔。如果你正在尋找一個 Go 語言 PDF 生成庫,Maroto 無疑是一個值得嘗試的選擇。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/NS0-9GbFkwdbOteYVMcKfw?poc_token=HKjd42ajmGqzy1-2GgqY7MyHoqHBkt-Ns-XU6rhh