Extend your PDF export with Headers & Footers

Available in Start planBetav0.3.0

The @tiptap-pro/extension-export-pdf extension includes built-in support for customizing the headers and footers of the exported document. You can configure different headers and footers for the first page, odd pages, and even pages.

Headers Configuration

The headers object allows you to customize the headers of your exported PDF document:

PropertyTypeDescription
evenAndOddHeadersbooleanWhether to use different headers for odd and even pages
differentFirstPagebooleanWhether to use a different header on the first page. When true, the first value is used on page one instead of default.
defaultstringThe standard default header on every page, or header on odd pages when evenAndOddHeaders is active. Accepts a plain text string or stringified Tiptap JSONContent for rich formatting.
firststringThe header on the first page. Only used when differentFirstPage is set to true. Accepts a plain text string or stringified Tiptap JSONContent for rich formatting.
evenstringThe header on even pages when the evenAndOddHeaders option is activated. Accepts a plain text string or stringified Tiptap JSONContent for rich formatting.

When using plain text, a simple unstyled header is produced. When using stringified Tiptap JSONContent (via JSON.stringify()), rich formatting such as bold, italic, and links is preserved.

Footers Configuration

The footers object allows you to customize the footers of your exported PDF document:

PropertyTypeDescription
evenAndOddFootersbooleanWhether to use different footers for odd and even pages
differentFirstPagebooleanWhether to use a different footer on the first page. When true, the first value is used on page one instead of default.
defaultstringThe standard default footer on every page, or footer on odd pages when evenAndOddFooters is active. Accepts a plain text string or stringified Tiptap JSONContent for rich formatting.
firststringThe footer on the first page. Only used when differentFirstPage is set to true. Accepts a plain text string or stringified Tiptap JSONContent for rich formatting.
evenstringThe footer on even pages when the evenAndOddFooters option is activated. Accepts a plain text string or stringified Tiptap JSONContent for rich formatting.

When using plain text, a simple unstyled footer is produced. When using stringified Tiptap JSONContent (via JSON.stringify()), rich formatting such as bold, italic, and links is preserved.

Complete example

import { ExportPdf } from '@tiptap-pro/extension-export-pdf'

const editor = new Editor({
  extensions: [
    // Other extensions...
    ExportPdf.configure({
      token: 'YOUR_TOKEN',
      appId: 'YOUR_APP_ID',
      headers: {
        evenAndOddHeaders: true,
        default: 'My Document - Confidential',
        first: 'Welcome to My Document',
        even: 'My Document - Even Page',
      },
      footers: {
        evenAndOddFooters: true,
        default: 'Company Name - All Rights Reserved',
        first: 'Draft Version 1.0',
        even: 'Company Name - Even Page Footer',
      },
    }),
    // Other extensions...
  ],
})

// Export with headers and footers
editor
  .chain()
  .exportPdf({
    onCompleteExport(result) {
      const url = URL.createObjectURL(result)
      const a = document.createElement('a')

      a.href = url
      a.download = 'document-with-headers.pdf'
      a.click()

      URL.revokeObjectURL(url)
    },
  })
  .run()

Simple headers and footers

If you don't need different headers for odd/even pages, you can provide just the default values:

ExportPdf.configure({
  token: 'YOUR_TOKEN',
  appId: 'YOUR_APP_ID',
  headers: {
    default: 'My Document Title',
  },
  footers: {
    default: 'Page Footer - Company Name',
  },
})