API

Headers

Header

Basic header

<Html2Pdf
  :inject-header="true"
  :header-height="58"
  header-text="My Company"
  :header-logo-enabled="true"
  header-logo-url="/logo.png"
  :header-logo-width="120"
  :header-logo-height="32"
  header-background-color="#F8F9FA"
  header-text-color="#5F6368"
/>

Header text

<Html2Pdf :inject-header="true" header-text="Quarterly Report" />

In selectable-text mode, plain header text is added as real PDF text and remains selectable/searchable.

Header HTML

Use headerHtml for trusted developer-controlled markup:

<Html2Pdf
  :inject-header="true"
  header-html="<strong>Quarterly <span style='color:#13B981'>Report</span></strong>"
/>

When headerHtml is non-empty, it takes precedence over headerText.

headerHtml is intentionally trusted HTML. Do not pass unsanitized user input.

Selectable-text mode may flatten complex header HTML to text where necessary so the text can remain selectable. Use canvas mode when exact rich-HTML header styling is more important than text selection.

Header logos are enabled by default.

<Html2Pdf :inject-header="true" :header-logo-enabled="false" header-text="Text-only header" />

The header itself remains enabled.

Header logo sizing

<Html2Pdf
  :inject-header="true"
  header-logo-url="/wide-logo.png"
  :header-logo-width="160"
  :header-logo-height="36"
/>

headerLogoWidth and headerLogoHeight define the maximum logo box. The original image aspect ratio is preserved.

Default logo box:

28 × 28 CSS pixels

Header page targeting

First page:

<Html2Pdf :inject-header="true" header-pages="first" />

Last page:

<Html2Pdf :inject-header="true" header-pages="last" />

Skip first:

<Html2Pdf :inject-header="true" header-pages="except-first" />

Explicit pages:

<Html2Pdf :inject-header="true" :header-pages="[1, 3, 5]" />

Supported type:

type PdfPageTarget = 'all' | 'first' | 'last' | 'except-first' | number[]

Page-aware header spacing

Selective headers reserve header space only on pages that actually receive the header.

header-pages="first"

Page 1 -> header + header space
Page 2 -> no header + no extra header space
Page 3 -> no header + no extra header space

Automatic pagination also accounts for this selective spacing.

Any top margin explicitly supplied through htmlToPdfOptions.margin remains independent and is not removed.

Header props

PropTypeDefaultDescription
injectHeaderbooleanfalseEnable header rendering.
headerHeightnumber58Header height in the current jsPDF unit.
headerTextstring''Plain-text header content.
headerHtmlstring''Trusted HTML header content; takes precedence over headerText.
headerLogoEnabledbooleantrueShow/hide the header logo.
headerLogoUrlstring''Logo URL.
headerLogoDataUrlstring''Logo data URL/base64.
headerLogoWidthnumber28Maximum logo width in CSS pixels.
headerLogoHeightnumber28Maximum logo height in CSS pixels.
headerBackgroundColorstring#F8F9FAHeader background.
headerTextColorstring#5F6368Header text/fallback color.
headerPagesPdfPageTargetall-page behaviorHeader page targeting.
Copyright © 2026