Why page numbering looks different today

Not long ago, “automated page numbering” basically meant one thing: stamp Page X of Y at the bottom of every page and call it done. That approach still covers a huge percentage of real-world needs—especially for invoices, short reports, and simple document packets.

But document workflows have evolved. Teams now generate PDFs from multiple systems, merge attachments at the last minute, publish formal reports with front matter, and assemble exhibit bundles with strict formatting rules. In that environment, a single “one-size-fits-all footer” is often not enough.

What’s changed from before to today is the emphasis on advanced formatting controls—specifically: ranges, sections, numbering styles, font rules, placement alignment, pixel offsets, and optional date rendering. Instead of treating page numbering as a flat stamp applied uniformly, modern implementations treat it as a layout system: different pages can follow different rules, and you can match the typography and positioning of a house style.

This article explains how advanced page numbering works today—what you can configure, how the parts fit together, and how that differs from the older “simple footer everywhere” pattern.

The shift from basic pagination to layout-aware pagination

The older approach to automated numbering was simple:

  • Choose one location (usually footer center)
  • Insert Page <<page_number>> of <<total_pages>>
  • Apply it to every page

That workflow is still valid and still the fastest way to get correct pagination.

What “advanced formatting” adds today

Modern page numbering moves beyond uniform stamping and enables:

  • Different numbering styles in different parts of a document (Roman numerals for intro pages, Arabic for main content)
  • Different placement rules by page range (no footer on cover pages, centered header for appendices, etc.)
  • Typography control (font family, size, and style)
  • Precise positioning via pixel offsets
  • Optional “Generated on…” headers with date formatting, locale, and timezone

These upgrades don’t just make documents look nicer. They reduce manual touchups, prevent formatting mistakes, and make output consistent across a large volume of PDFs.

Sections and ranges: the feature that changes everything

The most important concept in advanced page numbering is sections. Instead of one global rule for the entire PDF, you define a list of sections in your page number settings. Each section can apply to:

  • A specific range (like "1-10")
  • Or all pages, if the range is omitted

Why sections matter in real workflows

Sections let you match how professional documents are usually structured:

LOOKING FOR A ONE-STOP SOLUTION TO YOUR GROWTH NEEDS?

  • Cover page (often no numbering)
  • Front matter (Roman numerals)
  • Main content (Arabic numerals)
  • Appendices (sometimes different alignment, font, or wording)

By organizing rules into sections, you can implement these conventions programmatically instead of fixing them manually.

How ranges work

A range is typically expressed as a string such as:

  • "1-10" for pages 1 through 10

If you leave range out, the section affects every page. That makes ranges optional—but extremely powerful when you need different behaviors in different parts of a PDF.

A practical example: Roman numerals first, Arabic numerals later

A classic publishing layout might look like this:

  • Pages 1–2: Roman numerals (i, ii, iii) in the footer
  • Pages 3–end: Standard numbering (1, 2, 3) in the header

In older “basic pagination” setups, doing this typically required preprocessing, splitting PDFs, or writing custom logic outside the page numbering step. Today, sections and ranges make it a configuration problem rather than a coding problem.

Numbering styles: more than just 1, 2, 3

Advanced formatting includes numbering types that control how page numbers are displayed. The supported values include:

  • 1 → 1, 2, 3
  • a → a, b, c
  • A → A, B, C
  • i → i, ii, iii
  • I → I, II, III

This matters whenever the document has front matter or specific editorial requirements.

Using the start value to control where numbering begins

Another key tool is the start value, which lets you regulate the first page number in a section.

This is useful for scenarios like:

  • Starting the main content at page 1 even if the PDF includes a cover and intro pages
  • Continuing numbering across inserted content
  • Resetting numbering for an appendix or separate document segment

Older workflows often handled “start at 1” by cutting and merging PDFs. Today, the start value makes that a native part of your pagination configuration.

Fonts and typography: making pagination match your brand

A page number is still text, and text has style. Advanced formatting allows you to set:

  • Font family (name)
  • Font size (size)
  • Font style (style), such as Normal, Bold, Italic, or Bold Italic

Defaults that simplify configuration

If you don’t specify formatting, the defaults are:

  • Font: Roboto
  • Size: 12

These defaults matter because they create a predictable baseline. In many internal workflows, a default font is fine—especially when the priority is speed and correctness rather than strict brand alignment.

When you should explicitly set fonts

You’ll typically want explicit font settings when:

  • Your organization has a standardized document style guide
  • Your PDFs are client-facing or published externally
  • Your pagination must visually match existing headers/footers
  • You’re mixing PDFs generated by different tools, each with different default fonts

In other words, the “today” approach gives you the option to rely on defaults for simplicity—or to enforce typography for consistency.

Placement rules: header/footer plus left/center/right alignment

Advanced page numbering also formalizes placement rules. The key requirements are:

  • You must define at least one: header or footer
  • Within header or footer, you must specify at least one placement: left, center, or right

This makes pagination predictable and avoids ambiguous layout behavior.

What each placement block must include

Every placement block requires:

  • text (required): the content you want to render
  • offsets (optional): pixel adjustments (top, bottom, left, right)

The text can include placeholders such as:

  • <<page_number>>
  • <<total_pages>>

This keeps the numbering dynamic, even if the document length changes after merging attachments or adding pages late in the process.

Why alignment matters more than it seems

Left/center/right alignment isn’t just aesthetic. It’s often necessary to avoid collisions with other page elements:

  • Left footer might be reserved for document name or case number
  • Right footer might be reserved for date or version
  • Center footer is often the safest place for “Page X of Y”

A modern implementation can use alignment strategically across sections—for example, a centered footer in the main content but a right-aligned header in appendices.

Offsets: pixel-level control for real-world PDFs

Offsets allow you to fine-tune placement using pixel values:

  • top
  • bottom
  • left
  • right

Offsets are optional, but they become essential in situations where “default header/footer positioning” isn’t enough.

When offsets solve real problems

Offsets are particularly helpful when:

  • A PDF has a pre-existing footer band or letterhead
  • Your numbering overlaps a stamp, watermark, or signature line
  • Different source PDFs have slightly different margins
  • You need consistent placement across PDFs that don’t share the same layout geometry

Before offsets were part of a well-defined configuration, teams often fixed overlap issues by trial and error—exporting PDFs repeatedly until the placement “looked right.” Today, offsets make those adjustments explicit and repeatable.

Best practice: standardize offsets as part of a house style

If your organization processes many PDFs, define a standard set of offsets for:

  • Header left
  • Header center
  • Header right
  • Footer left
  • Footer center
  • Footer right

Then reuse them across document types. This turns pagination into a consistent, brand-aligned operation rather than a per-document tweak.

Date rendering: optional, but now more structured

Advanced formatting supports optional date rendering through date_config, which includes:

  • format
  • locale (required if date_config is used)
  • timezone (required if date_config is used)

If date rendering is not configured, UTC is treated as the default rendering timezone.

Why date rendering matters

Date rendering is commonly used for headers such as:

  • “Generated on …”
  • “Created on …”
  • “Issued on …”

In automated workflows, adding a generated date can be valuable for:

  • Audit trails
  • Version tracking
  • Client communication clarity (especially when documents are regenerated)
  • Compliance workflows where generation date is required

The importance of locale and timezone

Dates can be surprisingly error-prone in automation. A system running in one region might generate a document for users in another region, and “today” can become “yesterday” around midnight UTC.

By requiring locale and timezone when date rendering is enabled, modern configurations aim to prevent inconsistent date output and make the formatting intentional instead of accidental.

Putting it all together: how a modern configuration is built

Advanced page numbering is best understood as a layered configuration system:

  1. Sections define “which pages get which rules”
  2. Ranges optionally scope each section to specific pages
  3. Numbering styles control how the page numbers appear
  4. Start values control where numbering begins in a section
  5. Header/footer and alignment decide where the text renders
  6. Text placeholders keep pagination dynamic
  7. Offsets refine placement in pixels
  8. Date rendering optionally adds “Generated on…” content with controlled formatting

In older implementations, you might only use steps 5 and 6 (footer center plus placeholders). Today, you can progressively adopt the rest as your formatting needs become more sophisticated.

How your article changes from before to today

If you compare an older “basic page numbering” write-up with a modern one, the structure of the guidance shifts noticeably.

Before: one global rule

Older articles typically emphasized:

  • Add “Page X of Y”
  • Put it in the footer
  • Apply it to all pages
  • Use placeholders for page number and total pages

That approach is ideal for simplicity and speed.

Today: multiple rules depending on page context

Updated articles must include:

  • Section-based configuration so different parts of the PDF can behave differently
  • Range scoping to target specific page groups
  • Multiple numbering types, including Roman numerals and letters
  • Start values for resetting or controlling numbering
  • Font configuration with known defaults
  • Clear layout requirements for header/footer and alignment
  • Offset control for pixel-accurate positioning
  • Optional date rendering with required locale and timezone

In other words, the “today” article becomes less about “how to stamp page numbers” and more about “how to design consistent, professional pagination across diverse document structures.”

Best practices for adopting advanced formatting without overcomplicating your workflow

Advanced formatting is powerful, but you don’t have to use everything at once. The most reliable approach is incremental.

Start with the simplest correct result

Begin with a single section applied to all pages:

  • Footer center
  • “Page <<page_number>> of <<total_pages>>”
  • Default font settings

This gets you working pagination immediately.

Add sections only when a real requirement appears

Introduce additional sections when you encounter common document patterns:

  • Cover page shouldn’t display numbering
  • Front matter requires Roman numerals
  • Appendices need a different header layout

Sections are easiest to maintain when each one corresponds to a meaningful document segment.

Use numbering types deliberately

Letter-based or Roman numeral numbering should be used intentionally, typically for:

  • Preface / introduction
  • Annexes in formal documentation
  • Specialized publishing workflows

If your output is primarily operational (invoices, statements, internal packets), standard 1 numbering may remain the best default.

Treat offsets as a standard, not a workaround

Offsets often start as “we had overlap, so we nudged it.” But in mature workflows, offsets become part of a standard style definition that prevents overlap across many PDFs—not just one.

Only enable date rendering when it supports a clear purpose

Adding dates is useful for auditing and clarity, but it can also create confusion if timezone and locale aren’t aligned with user expectations. If you enable date rendering:

  • Always set locale and timezone as required
  • Keep the date format consistent across all documents
  • Place it where it won’t visually compete with page numbering

Final thoughts: advanced pagination is about consistency and credibility

Page numbering seems like a small detail until it goes wrong. A missing number, a misaligned footer, or an incorrect numbering style can make a document look unprofessional—or worse, create confusion in a legal, financial, or compliance context.

What’s changed from before to today is that page numbering is no longer treated as a single stamp applied uniformly. Modern formatting treats it as a controlled system: sections, ranges, typography, placement, precision offsets, numbering styles, and optional date rendering. That shift gives teams the tools to produce PDFs that look intentional, consistent, and trustworthy—at scale—without last-minute manual edits.

© Image credits to Steve Johnson

LOOKING FOR A ONE-STOP SOLUTION TO YOUR GROWTH NEEDS?

Posted in CRM