Versions in this module Expand all Collapse all v0 v0.4.1 Dec 7, 2023 v0.4.0 Nov 1, 2023 v0.3.1 Oct 27, 2023 v0.3.0 Oct 27, 2023retracted v0.2.0 Jan 6, 2023 Changes in this version type Fpdf + func (f *Fpdf) AddInternalLink(anchor string) + func (f *Fpdf) WriteInternalLink(lineHeight float64, text string, anchor string) type PDF + AddInternalLink func(anchor string) + WriteInternalLink func(lineHeight float64, text string, anchor string) v0.1.2 Dec 19, 2022 v0.1.1 Dec 17, 2022 Changes in this version + var FontAlbertSans = Font + var FontAlumniSans = Font + var FontAndadaPro = Font + var FontAndika = Font + var FontAnybody = Font + var FontAtkinsonHyperlegible = Font + var FontAzeretMono = Font + var FontBeVietnamPro = Font + var FontBesley = Font + var FontCharisSIL = Font + var FontChivoMono = Font + var FontFamiljenGrotesk = Font + var FontFigtree = Font + var FontFinlandica = Font + var FontFragmentMono = Font + var FontGantari = Font + var FontGenos = Font + var FontGentiumBookPlus = Font + var FontGentiumPlus = Font + var FontGeorama = Font + var FontGlory = Font + var FontHankenGrotesk = Font + var FontInterTight = Font + var FontKantumruyPro = Font + var FontLibreBodoni = Font + var FontMartianMono = Font + var FontMohave = Font + var FontMuseoModerno = Font + var FontNotoSansDisplay = Font + var FontNotoSansMono = Font + var FontNotoSerifDisplay = Font + var FontNotoSerifTamil = Font + var FontPlusJakartaSans = Font + var FontRadioCanada = Font + var FontRasa = Font + var FontRedHatMono = Font + var FontRobotoSerif = Font + var FontSTIXTwoText = Font + var FontSourceSans3 = Font + var FontSourceSerif4 = Font + var FontSplineSansMono = Font + var FontTourney = Font + var FontUrbanist = Font + var FontYrsa = Font v0.1.0 Aug 18, 2022 Changes in this version + const FontStyleBold + const FontStyleBoldItalic + const FontStyleItalic + const FontStyleRegular + const FontTypeCustom + const FontTypeGoogle + const FontTypeInbuilt + var CodeFontsGoogle = map[string]Font + var CodeFontsInbuilt = map[string]Font + var FontAlegreya = Font + var FontAlegreyaSC = Font + var FontAlegreyaSans = Font + var FontAlegreyaSansSC = Font + var FontAleo = Font + var FontAlmendra = Font + var FontAmaranth = Font + var FontAmiri = Font + var FontAndikaNewBasic = Font + var FontAnonymousPro = Font + var FontArchivo = Font + var FontArchivoNarrow = Font + var FontArimo = Font + var FontArsenal = Font + var FontArvo = Font + var FontAsap = Font + var FontAsapCondensed = Font + var FontAveriaLibre = Font + var FontAveriaSansLibre = Font + var FontAveriaSerifLibre = Font + var FontB612 = Font + var FontB612Mono = Font + var FontBaiJamjuree = Font + var FontBalsamiqSans = Font + var FontBarlow = Font + var FontBarlowCondensed = Font + var FontBarlowSemiCondensed = Font + var FontBeVietnam = Font + var FontBellota = Font + var FontBellotaText = Font + var FontBitter = Font + var FontBodoniModa = Font + var FontBrygada1918 = Font + var FontCabin = Font + var FontCaladea = Font + var FontCambay = Font + var FontCantarell = Font + var FontCaudex = Font + var FontChakraPetch = Font + var FontChivo = Font + var FontComicNeue = Font + var FontCormorant = Font + var FontCormorantGaramond = Font + var FontCormorantInfant = Font + var FontCourier = Font + var FontCourierPrime = Font + var FontCousine = Font + var FontCrimsonPro = Font + var FontCrimsonText = Font + var FontCuprum = Font + var FontCutiveMono = Font + var FontDMMono = Font + var FontDMSans = Font + var FontEBGaramond = Font + var FontEconomica = Font + var FontEpilogue = Font + var FontExo = Font + var FontExo2 = Font + var FontExpletusSans = Font + var FontFahkwang = Font + var FontFaustina = Font + var FontFiraCode = Font + var FontFiraMono = Font + var FontFiraSans = Font + var FontFiraSansCondensed = Font + var FontFiraSansExtraCondensed = Font + var FontFraunces = Font + var FontGFSNeohellenic = Font + var FontGelasio = Font + var FontGentiumBasic = Font + var FontGentiumBookBasic = Font + var FontGrandstander = Font + var FontGrenze = Font + var FontHelvetica = Font + var FontIBMPlexMono = Font + var FontIBMPlexSans = Font + var FontIBMPlexSansCondensed = Font + var FontIBMPlexSerif = Font + var FontIbarraRealNova = Font + var FontInconsolata = Font + var FontInriaSans = Font + var FontInriaSerif = Font + var FontIstokWeb = Font + var FontJetBrainsMono = Font + var FontJosefinSans = Font + var FontJosefinSlab = Font + var FontJost = Font + var FontK2D = Font + var FontKanit = Font + var FontKarla = Font + var FontKoHo = Font + var FontKodchasan = Font + var FontKrub = Font + var FontKufam = Font + var FontKulimPark = Font + var FontLato = Font + var FontLibreFranklin = Font + var FontLiterata = Font + var FontLivvic = Font + var FontLobsterTwo = Font + var FontLora = Font + var FontMajorMonoDisplay = Font + var FontMali = Font + var FontManuale = Font + var FontMarvel = Font + var FontMerriweather = Font + var FontMerriweatherSans = Font + var FontMontserrat = Font + var FontMontserratAlternates = Font + var FontMulish = Font + var FontNanumGothicCoding = Font + var FontNewsreader = Font + var FontNiramit = Font + var FontNobile = Font + var FontNoticiaText = Font + var FontNotoSans = Font + var FontNotoSerif = Font + var FontNovaMono = Font + var FontNunito = Font + var FontNunitoSans = Font + var FontOpenSans = Font + var FontOverlock = Font + var FontOverpass = Font + var FontOverpassMono = Font + var FontOxygenMono = Font + var FontPTMono = Font + var FontPTSans = Font + var FontPTSerif = Font + var FontPetrona = Font + var FontPhilosopher = Font + var FontPiazzolla = Font + var FontPlayfairDisplay = Font + var FontPlayfairDisplaySC = Font + var FontPoppins = Font + var FontPrompt = Font + var FontProzaLibre = Font + var FontPublicSans = Font + var FontPuritan = Font + var FontQuantico = Font + var FontQuattrocentoSans = Font + var FontRaleway = Font + var FontRambla = Font + var FontRedHatDisplay = Font + var FontRedHatText = Font + var FontRoboto = Font + var FontRobotoCondensed = Font + var FontRobotoMono = Font + var FontRosario = Font + var FontRubik = Font + var FontSaira = Font + var FontSansita = Font + var FontSarabun = Font + var FontScada = Font + var FontShare = Font + var FontShareTechMono = Font + var FontSourceCodePro = Font + var FontSourceSansPro = Font + var FontSourceSerifPro = Font + var FontSpaceMono = Font + var FontSpectral = Font + var FontSpectralSC = Font + var FontSyneMono = Font + var FontTaviraj = Font + var FontTexturina = Font + var FontThasadith = Font + var FontTimes = Font + var FontTinos = Font + var FontTitilliumWeb = Font + var FontTomorrow = Font + var FontTrirong = Font + var FontUbuntu = Font + var FontUbuntuMono = Font + var FontUnna = Font + var FontVT323 = Font + var FontVolkhov = Font + var FontVollkorn = Font + var FontWorkSans = Font + var FontXanhMono = Font + var FontZillaSlab = Font + var TextFontsGoogle = map[string]Font + var TextFontsInbuilt = map[string]Font + func AddFonts(ctx context.Context, pdf PDF, fonts []Font, fontsCache fonts.Cache) error + func New(options ...Option) goldrender.Renderer + func SetStyle(pdf PDF, s Style) + type Config struct + Context context.Context + FontsCache fonts.Cache + ImageFS fs.FS + NodeRenderers util.PrioritizedSlice + PDF PDF + Styles Styles + TraceWriter io.Writer + func DefaultConfig() *Config + func (c *Config) AddDefaultNodeRenderers() + type Font struct + CanUseForCode bool + CanUseForText bool + Category string + Family string + FileBold string + FileBoldItalic string + FileItalic string + FileRegular string + Type fontType + func GetCodeFont(family string, fallback Font) Font + func GetTextFont(family string, fallback Font) Font + type Fpdf struct + Fpdf *gofpdf.Fpdf + func NewFpdf(ctx context.Context, c FpdfConfig, fontsCache fonts.Cache) Fpdf + func (f Fpdf) AddFont(family string, style string, data []byte) error + func (f Fpdf) AddPage() + func (f Fpdf) BR(height float64) + func (f Fpdf) CellFormat(w float64, h float64, txtStr string, borderStr string, ln int, alignStr string, ...) + func (f Fpdf) GetMargins() (left, top, right, bottom float64) + func (f Fpdf) GetPageSize() (width float64, height float64) + func (f Fpdf) GetX() float64 + func (f Fpdf) GetY() float64 + func (f Fpdf) Line(x1 float64, y1 float64, x2 float64, y2 float64) + func (f Fpdf) MeasureTextWidth(text string) float64 + func (f Fpdf) RegisterImage(id string, format string, src io.Reader) + func (f Fpdf) SetDrawColor(r uint8, g uint8, b uint8) + func (f Fpdf) SetFillColor(r uint8, g uint8, b uint8) + func (f Fpdf) SetFont(family string, style string, size int) error + func (f Fpdf) SetLineWidth(width float64) + func (f Fpdf) SetMarginLeft(margin float64) + func (f Fpdf) SetMarginRight(margin float64) + func (f Fpdf) SetMarginTop(margin float64) + func (f Fpdf) SetTextColor(r uint8, g uint8, b uint8) + func (f Fpdf) SetX(x float64) + func (f Fpdf) SetY(y float64) + func (f Fpdf) SplitText(txt string, w float64) []string + func (f Fpdf) UseImage(imgID string, x, y, w, h float64) + func (f Fpdf) Write(w io.Writer) error + func (f Fpdf) WriteExternalLink(lineHeight float64, text string, destination string) + func (f Fpdf) WriteText(height float64, text string) + type FpdfConfig struct + FooterFunc func(impl Fpdf, fontsCache fonts.Cache) func() + HeaderFunc func(impl Fpdf, fontsCache fonts.Cache) func() + Logo io.Reader + LogoFormat string + Orientation string + PaperSize string + Subject string + Title string + type NodeRenderer interface + RegisterFuncs func(NodeRendererFuncRegisterer) + type NodeRendererFunc func(w *Writer, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) + type NodeRendererFuncRegisterer interface + Register func(ast.NodeKind, NodeRendererFunc) + type Option interface + SetConfig func(*Config) + func WithBodyFont(f Font) Option + func WithCodeBlockTheme(theme *chroma.Style) Option + func WithCodeFont(f Font) Option + func WithConfig(config *Config) Option + func WithContext(ctx context.Context) Option + func WithFontsCache(fc fonts.Cache) Option + func WithFpdf(ctx context.Context, c FpdfConfig) Option + func WithHeadingFont(f Font) Option + func WithImageFS(images fs.FS) Option + func WithLinkColor(val color.Color) Option + func WithNodeRenderers(ps ...util.PrioritizedValue) Option + func WithPDF(pdf PDF) Option + func WithTraceWriter(val io.Writer) Option + type OptionFunc func(*Config) + func (o OptionFunc) SetConfig(c *Config) + type PDF interface + AddFont func(family string, style string, data []byte) error + AddPage func() + BR func(h float64) + CellFormat func(w, h float64, txtStr, borderStr string, ln int, alignStr string, fill bool, ...) + GetMargins func() (left, top, right, bottom float64) + GetPageSize func() (width, height float64) + GetX func() float64 + GetY func() float64 + Line func(x1, x2, y1, y2 float64) + MeasureTextWidth func(text string) float64 + RegisterImage func(id, format string, src io.Reader) + SetDrawColor func(r uint8, g uint8, b uint8) + SetFillColor func(r uint8, g uint8, b uint8) + SetFont func(family string, style string, size int) error + SetLineWidth func(width float64) + SetMarginLeft func(margin float64) + SetMarginRight func(margin float64) + SetTextColor func(r uint8, g uint8, b uint8) + SetX func(x float64) + SetY func(y float64) + SplitText func(txt string, w float64) []string + UseImage func(id string, x, y, w, h float64) + Write func(io.Writer) error + WriteExternalLink func(lineHeight float64, text, destination string) + WriteText func(height float64, text string) + type Style struct + FillColor color.Color + Font Font + Size float64 + Spacing float64 + TextColor color.Color + type Styles struct + Blockquote *Style + CodeBlockTheme *chroma.Style + CodeFont Font + H1 *Style + H2 *Style + H3 *Style + H4 *Style + H5 *Style + H6 *Style + LinkColor color.Color + Normal *Style + TBody *Style + THeader *Style + func DefaultStyles() Styles + type Writer struct + DebugWriter io.Writer + ImageFS fs.FS + Pdf PDF + States states + Styles Styles + func (r *Writer) LogDebug(source, msg string) + func (w *Writer) ChromaToStyle(chSt chroma.StyleEntry) *Style + func (w *Writer) GetBacktickStyle() *Style + func (w *Writer) GetLinkStyle() *Style + func (w *Writer) Text(s Style, t string) + func (w *Writer) WriteLink(s Style, display, url string) + func (w *Writer) WriteText(stringContents string)