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

Keep Together

Keeps children on the same PDF page.

Takumi Forme
Rendering PDF…

Installation

$ pnpm dlx shadcn@latest add @angular-pdfcn/forme/keep-together

Usage

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

import { PdfHeading } from "@/components/pdf/heading/heading";
import { PdfKeepTogether } from "@/components/pdf/keep-together/keep-together";
import { PdfSection } from "@/components/pdf/section/section";
import { PdfText } from "@/components/pdf/text/text";
import {
  FormeDocument,
  FormePage,
} from "@/lib/pdf-primitives";

@Component({
  imports: [
    FormeDocument,
    FormePage,
    PdfHeading,
    PdfKeepTogether,
    PdfSection,
    PdfText,
  ],
  template: `
    <forme-document>
      <forme-page size="A4" [margin]="40">
        <pdf-section spacing="none">
          <pdf-keep-together>
            <pdf-heading [level]="2">Section Title</pdf-heading>
            <pdf-section variant="callout" padding="sm">
              <pdf-text noMargin
                >This heading and callout stay together as one atomic block when
                the document flows onto another page.</pdf-text
              >
            </pdf-section>
          </pdf-keep-together>
          <pdf-keep-together [minPresenceAhead]="80">
            <pdf-heading [level]="3">Subsection Heading</pdf-heading>
            <pdf-text
              >Reserve enough room before starting this subsection so its
              heading is never stranded at the bottom of a page.</pdf-text
            >
          </pdf-keep-together>
          <pdf-keep-together>
            <pdf-heading [level]="4">Signature Block</pdf-heading>
            <pdf-section variant="card" padding="sm">
              <pdf-text noMargin>Approved by: ____________________</pdf-text>
            </pdf-section>
          </pdf-keep-together>
        </pdf-section>
      </forme-page>
    </forme-document>
  `,
})
export class KeepTogetherDemo {}

API Reference

PdfKeepTogether

Input Type Default
minPresenceAhead number -
style Style -

The content to keep on one page is projected content.