Css Pdf Notes -

h2 page-break-after: avoid;

@page @top-left content: element(page-header);

h1 page-break-before: always; color: #1a3e6f;

Use @media print to isolate PDF styles.

</style> </head> <body> <h1>Chapter 1</h1> <p>PDF-ready content…</p> </body> </html> | Tool | Best for | |--------------|------------------------------| | PrinceXML | Professional, complex books | | WeasyPrint | Open source, good CSS support| | Paged.js | Browser polyfill for @page | | wkhtmltopdf | Legacy HTML → PDF (WebKit) | | Chrome headless | Simple print-emulation | These notes give you a solid foundation to style HTML for reliable, print-ready PDF output. Keep a copy handy when working on reports, e‑books, or invoices.

/* Force break before/after */ h1 page-break-before: always; break-before: page;

@media print body font-size: 11pt; /* pt recommended for print */ line-height: 1.4; .no-print display: none; css pdf notes

| Do | Don’t | |-------------------------------------|----------------------------------| | Use pt , cm , mm , in | Use px (unreliable) | | Set box-sizing: border-box | Use fixed heights on containers | | Use float carefully | Rely on position: fixed much | | Test with your PDF engine | Assume browser = PDF renderer | | Embed fonts via @font-face | Use web fonts (may fail) | 9. Complete Minimal Example <!DOCTYPE html> <html> <head> <style media="print"> @page size: A4; margin: 2cm; @bottom-right content: counter(page); body font-family: "Times New Roman", serif; font-size: 12pt; line-height: 1.4;

.page-header position: running(page-header); font-size: 10pt; color: gray;

/* Orphan/widow control / p orphans: 3; / min lines at bottom of page / widows: 2; / min lines at top of page */ /* Force break before/after */ h1 page-break-before: always;

p orphans: 3; widows: 2;

a[href]::after content: " (" attr(href) ")"; /* show URLs */

/* Avoid break after heading */ h2 page-break-after: avoid; @media print body font-size: 11pt

1. The @page Rule Controls page boxes, margins, size, and breaks.