[Home](./index.md) > [puppeteer](./puppeteer.md) > [Protocol](./puppeteer.protocol.md) > [Page](./puppeteer.protocol.page.md) > [PrintToPDFRequest](./puppeteer.protocol.page.printtopdfrequest.md)
## Protocol.Page.PrintToPDFRequest interface
Signature:
```typescript
export interface PrintToPDFRequest
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [displayHeaderFooter](./puppeteer.protocol.page.printtopdfrequest.displayheaderfooter.md) | boolean | Display header and footer. Defaults to false. |
| [footerTemplate](./puppeteer.protocol.page.printtopdfrequest.footertemplate.md) | string | HTML template for the print footer. Should use the same format as the headerTemplate
. |
| [headerTemplate](./puppeteer.protocol.page.printtopdfrequest.headertemplate.md) | string | HTML template for the print header. Should be valid HTML markup with following classes used to inject printing values into them: - date
: formatted print date - title
: document title - url
: document location - pageNumber
: current page number - totalPages
: total pages in the documentFor example, <span class=title></span>
would generate span containing the title. |
| [ignoreInvalidPageRanges](./puppeteer.protocol.page.printtopdfrequest.ignoreinvalidpageranges.md) | boolean | Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'. Defaults to false. |
| [landscape](./puppeteer.protocol.page.printtopdfrequest.landscape.md) | boolean | Paper orientation. Defaults to false. |
| [marginBottom](./puppeteer.protocol.page.printtopdfrequest.marginbottom.md) | number | Bottom margin in inches. Defaults to 1cm (\~0.4 inches). |
| [marginLeft](./puppeteer.protocol.page.printtopdfrequest.marginleft.md) | number | Left margin in inches. Defaults to 1cm (\~0.4 inches). |
| [marginRight](./puppeteer.protocol.page.printtopdfrequest.marginright.md) | number | Right margin in inches. Defaults to 1cm (\~0.4 inches). |
| [marginTop](./puppeteer.protocol.page.printtopdfrequest.margintop.md) | number | Top margin in inches. Defaults to 1cm (\~0.4 inches). |
| [pageRanges](./puppeteer.protocol.page.printtopdfrequest.pageranges.md) | string | Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages. |
| [paperHeight](./puppeteer.protocol.page.printtopdfrequest.paperheight.md) | number | Paper height in inches. Defaults to 11 inches. |
| [paperWidth](./puppeteer.protocol.page.printtopdfrequest.paperwidth.md) | number | Paper width in inches. Defaults to 8.5 inches. |
| [preferCSSPageSize](./puppeteer.protocol.page.printtopdfrequest.prefercsspagesize.md) | boolean | Whether or not to prefer page size as defined by css. Defaults to false, in which case the content will be scaled to fit the paper size. |
| [printBackground](./puppeteer.protocol.page.printtopdfrequest.printbackground.md) | boolean | Print background graphics. Defaults to false. |
| [scale](./puppeteer.protocol.page.printtopdfrequest.scale.md) | number | Scale of the webpage rendering. Defaults to 1. |
| [transferMode](./puppeteer.protocol.page.printtopdfrequest.transfermode.md) | ('ReturnAsBase64' \| 'ReturnAsStream') | return as stream (PrintToPDFRequestTransferMode enum) |