--- sidebar_label: PDFOptions --- # PDFOptions interface Valid options to configure PDF generation via [Page.pdf()](./puppeteer.page.pdf.md). #### Signature: ```typescript export interface PDFOptions ``` ## Properties
Property | Modifiers | Type | Description | Default |
---|---|---|---|---|
`optional` | boolean | Whether to show the header and footer. | `false` | |
`optional` | string | HTML template for the print footer. Has the same constraints and support for special classes as [PDFOptions.headerTemplate](./puppeteer.pdfoptions.md#headertemplate). | ||
format | `optional` | [PaperFormat](./puppeteer.paperformat.md) | **Remarks:** If set, this takes priority over the `width` and `height` options. | `letter`. |
headerTemplate | `optional` | string | HTML template for the print header. Should be valid HTML with the following classes used to inject values into them: - `date` formatted print date - `title` document title - `url` document location - `pageNumber` current page number - `totalPages` total pages in the document | |
height | `optional` | string \| number | Sets the height of paper. You can pass in a number or a string with a unit. | |
landscape | `optional` | boolean | Whether to print in landscape orientation. | `false` |
margin | `optional` | [PDFMargin](./puppeteer.pdfmargin.md) | Set the PDF margins. | `undefined` no margins are set. |
omitBackground | `optional` | boolean | Hides default white background and allows generating pdfs with transparency. | `false` |
outline | `optional` | boolean | **_(Experimental)_** Generate document outline. **Remarks:** If this is enabled the PDF will also be tagged (accessible) Currently only works in old Headless (headless = 'shell') [Chromium feature request](https://issues.chromium.org/issues/41387522#comment48) | `false` |
pageRanges | `optional` | string | Paper ranges to print, e.g. `1-5, 8, 11-13`. | The empty string, which means all pages are printed. |
path | `optional` | string | The path to save the file to. **Remarks:** If the path is relative, it's resolved relative to the current working directory. | `undefined`, which means the PDF will not be written to disk. |
preferCSSPageSize | `optional` | boolean | Give any CSS `@page` size declared in the page priority over what is declared in the `width` or `height` or `format` option. | `false`, which will scale the content to fit the paper size. |
printBackground | `optional` | boolean | Set to `true` to print background graphics. | `false` |
scale | `optional` | number | Scales the rendering of the web page. Amount must be between `0.1` and `2`. | `1` |
tagged | `optional` | boolean | **_(Experimental)_** Generate tagged (accessible) PDF. | `true` |
timeout | `optional` | number | Timeout in milliseconds. Pass `0` to disable timeout. | `30_000` |
width | `optional` | string \| number | Sets the width of paper. You can pass in a number or a string with a unit. |