For the complete documentation index, see llms.txt. Markdown variants are available by appending .md to any docs URL. An agent skill is available at /.well-known/agent-skills/site-skill.md.
0Sponsor

Page Footer

Repeating page footer.

Takumi Forme
Rendering PDF…

Installation

$ pnpm dlx shadcn@latest add @angular-pdfcn/forme/page-footer

Usage

import { Component } from "@angular/core";

import { PdfPageFooter } from "@/components/pdf/page-footer/page-footer";
import { PdfText } from "@/components/pdf/text/text";
import {
  FormeDocument,
  FormePage,
  FormeView,
} from "@/lib/pdf-primitives";

@Component({
  imports: [FormeDocument, FormePage, FormeView, PdfPageFooter, PdfText],
  template: `
    <forme-document>
      <forme-page [size]="{ height: 300, width: 595 }" [margin]="30">
        <forme-view
          [style]="{ display: 'flex', flexDirection: 'column', minHeight: 220 }"
        >
          <pdf-text [style]="textStyle"
            >Invoice #1042 · Acme Corp · March 2026</pdf-text
          >
          <pdf-text [style]="textStyle"
            >The footer remains visually separated from the document
            body.</pdf-text
          >
          <forme-view [style]="{ flex: 1 }" />
          <pdf-page-footer
            leftText="© 2026 Acme Corp"
            centerText="Confidential"
            rightText="Page 1 of 1"
            variant="simple"
          />
        </forme-view>
      </forme-page>
    </forme-document>
  `,
})
export class PageFooterDemo {
  protected readonly textStyle = {
    color: "#555555",
    fontSize: 10,
    lineHeight: 1.6,
    marginBottom: 6,
  };
}

API Reference

PdfPageFooter

Input Type Default
leftText string | TemplateRef<unknown> -
rightText string | TemplateRef<unknown> -
centerText string | TemplateRef<unknown> -
variant 'simple' | 'centered' | 'branded' | 'minimal' | 'three-column' | 'detailed' 'simple'
background string -
textColor string -
marginTop number -
address string -
phone string -
email string -
website string -
fixed boolean false
sticky boolean false
pagePadding number 0
noWrap boolean true