Creating Multi-Page PDF Documents
Strategies for structuring long Markdown documents that span multiple pages, with control over page breaks, headers, footers, and section flow.
Writing a document that spans many pages requires a different approach than a short single-pager. This guide covers structural strategies, page break control, and layout techniques for long-form PDF output.
Planning Your Document Structure
Before writing, sketch the major sections of your document. A well-planned structure makes page layout predictable:
# Document Title
## Part 1: Introduction
### Background
### Scope
## Part 2: Analysis
### Data Collection
### Findings
## Part 3: Recommendations
## Appendix
### References
### Raw Data
With this structure, each ## section is a natural candidate for starting on a new page.
Forcing Page Breaks
Insert an explicit page break between any two sections:
## Section One
Content of section one...
<div style="page-break-after: always;"></div>
## Section Two
Content of section two starts here on a fresh page.
Use page breaks:
- Before major new chapters or parts
- Before large diagrams you don’t want split
- Before the Appendix
Avoiding Unintentional Breaks
The renderer tries to avoid breaking within an element (e.g., mid-table, mid-code-block), but very long elements can still be split. Strategies to avoid this:
For long tables
Break them into two separate tables with a heading in between:
### Users by Region (A–M)
| Name | Region | ... |
### Users by Region (N–Z)
| Name | Region | ... |
For code blocks
Insert an explicit page break immediately before a large code block to ensure it starts at the top of a page:
<div style="page-break-before: always;"></div>
```python
# This code block now starts at the top of a fresh page
def long_function():
...
## Using Parts and Chapters
For book-like documents, use bold `H1` headings as part dividers and force a page break before each:
```html
<div style="page-break-before: always;"></div>
# Part II: Implementation
## Chapter 4: Architecture
Estimating Document Length
A rough guide to how much Markdown fits on one A4 page:
| Content type | Approx. per page |
|---|---|
| Body paragraphs (body size) | ~50–60 lines |
| Code blocks | ~30–40 lines |
| Tables (standard columns) | ~15–20 rows |
| Diagrams (medium complexity) | 1–2 per page |
Adding Section Dividers
Visual section dividers help readers navigate long documents in print:
---
## New Section
The --- horizontal rule renders as a thin dividing line in both HTML and PDF.
Long Documents and the TOC
Enable the Table of Contents for any document over 3 pages. Readers use the TOC to navigate directly to relevant sections rather than scrolling through every page.
For very long documents (10+ pages), use deep heading hierarchy (H2, H3, H4) so the TOC provides enough granularity to be useful.
Appendices
Structure appendices at the end with a clear separator:
<div style="page-break-before: always;"></div>
# Appendix
## A: Glossary
| Term | Definition |
|------|------------|
| API | Application Programming Interface |
## B: References
1. Smith, J. (2024). *Technical Writing for Engineers*.
2. Jones, A. (2023). *Markdown in Practice*.