Back to Resume Matcher

Print PDF Design Spec

docs/agent/design/print-pdf-design-spec.md

1.2.01.2 KB
Original Source

Print PDF Design Spec

Specifications for PDF rendering in Resume Matcher.

Page Sizes

SizeDimensions
A4210 × 297 mm
US Letter215.9 × 279.4 mm
/print/resumes/[id]?template=swiss-single&pageSize=A4&marginTop=10...

CSS Requirements

css
@media print {
  body * { visibility: hidden !important; }
  
  .resume-print,
  .resume-print * { visibility: visible !important; }
}

Playwright Settings

python
await page.pdf(
    format="A4",          # or "Letter"
    print_background=True,
    margin={"top": "0", "right": "0", "bottom": "0", "left": "0"}
)

Margins are applied via HTML padding, not PDF margins (WYSIWYG accuracy).

Section Break Rules

  • Individual .resume-item elements stay together
  • Section titles never orphaned at page bottom
  • Pages must be ≥50% full before breaking to next

File Locations

FilePurpose
app/print/resumes/[id]/page.tsxPrint route
components/preview/use-pagination.tsPage break logic
lib/constants/page-dimensions.tsSize constants
apps/backend/app/pdf.pyPlaywright renderer