mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
408 lines
4.5 KiB
Markdown
408 lines
4.5 KiB
Markdown
---
|
|
sidebar_label: PDFOptions
|
|
---
|
|
|
|
# PDFOptions interface
|
|
|
|
Valid options to configure PDF generation via [Page.pdf()](./puppeteer.page.pdf.md).
|
|
|
|
#### Signature:
|
|
|
|
```typescript
|
|
export interface PDFOptions
|
|
```
|
|
|
|
## Properties
|
|
|
|
<table><thead><tr><th>
|
|
|
|
Property
|
|
|
|
</th><th>
|
|
|
|
Modifiers
|
|
|
|
</th><th>
|
|
|
|
Type
|
|
|
|
</th><th>
|
|
|
|
Description
|
|
|
|
</th><th>
|
|
|
|
Default
|
|
|
|
</th></tr></thead>
|
|
<tbody><tr><td>
|
|
|
|
<span id="displayheaderfooter">displayHeaderFooter</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
boolean
|
|
|
|
</td><td>
|
|
|
|
Whether to show the header and footer.
|
|
|
|
</td><td>
|
|
|
|
`false`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="footertemplate">footerTemplate</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
string
|
|
|
|
</td><td>
|
|
|
|
HTML template for the print footer. Has the same constraints and support for special classes as [PDFOptions.headerTemplate](./puppeteer.pdfoptions.md#headertemplate).
|
|
|
|
</td><td>
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="format">format</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
[PaperFormat](./puppeteer.paperformat.md)
|
|
|
|
</td><td>
|
|
|
|
**Remarks:**
|
|
|
|
If set, this takes priority over the `width` and `height` options.
|
|
|
|
</td><td>
|
|
|
|
`letter`.
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="headertemplate">headerTemplate</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
string
|
|
|
|
</td><td>
|
|
|
|
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
|
|
|
|
</td><td>
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="height">height</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
string \| number
|
|
|
|
</td><td>
|
|
|
|
Sets the height of paper. You can pass in a number or a string with a unit.
|
|
|
|
</td><td>
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="landscape">landscape</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
boolean
|
|
|
|
</td><td>
|
|
|
|
Whether to print in landscape orientation.
|
|
|
|
</td><td>
|
|
|
|
`false`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="margin">margin</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
[PDFMargin](./puppeteer.pdfmargin.md)
|
|
|
|
</td><td>
|
|
|
|
Set the PDF margins.
|
|
|
|
</td><td>
|
|
|
|
`undefined` no margins are set.
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="omitbackground">omitBackground</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
boolean
|
|
|
|
</td><td>
|
|
|
|
Hides default white background and allows generating pdfs with transparency.
|
|
|
|
</td><td>
|
|
|
|
`false`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="outline">outline</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
boolean
|
|
|
|
</td><td>
|
|
|
|
**_(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)
|
|
|
|
</td><td>
|
|
|
|
`false`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="pageranges">pageRanges</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
string
|
|
|
|
</td><td>
|
|
|
|
Paper ranges to print, e.g. `1-5, 8, 11-13`.
|
|
|
|
</td><td>
|
|
|
|
The empty string, which means all pages are printed.
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="path">path</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
string
|
|
|
|
</td><td>
|
|
|
|
The path to save the file to.
|
|
|
|
**Remarks:**
|
|
|
|
If the path is relative, it's resolved relative to the current working directory.
|
|
|
|
</td><td>
|
|
|
|
`undefined`, which means the PDF will not be written to disk.
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="prefercsspagesize">preferCSSPageSize</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
boolean
|
|
|
|
</td><td>
|
|
|
|
Give any CSS `@page` size declared in the page priority over what is declared in the `width` or `height` or `format` option.
|
|
|
|
</td><td>
|
|
|
|
`false`, which will scale the content to fit the paper size.
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="printbackground">printBackground</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
boolean
|
|
|
|
</td><td>
|
|
|
|
Set to `true` to print background graphics.
|
|
|
|
</td><td>
|
|
|
|
`false`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="scale">scale</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
number
|
|
|
|
</td><td>
|
|
|
|
Scales the rendering of the web page. Amount must be between `0.1` and `2`.
|
|
|
|
</td><td>
|
|
|
|
`1`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="tagged">tagged</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
boolean
|
|
|
|
</td><td>
|
|
|
|
**_(Experimental)_** Generate tagged (accessible) PDF.
|
|
|
|
</td><td>
|
|
|
|
`true`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="timeout">timeout</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
number
|
|
|
|
</td><td>
|
|
|
|
Timeout in milliseconds. Pass `0` to disable timeout.
|
|
|
|
</td><td>
|
|
|
|
`30_000`
|
|
|
|
</td></tr>
|
|
<tr><td>
|
|
|
|
<span id="width">width</span>
|
|
|
|
</td><td>
|
|
|
|
`optional`
|
|
|
|
</td><td>
|
|
|
|
string \| number
|
|
|
|
</td><td>
|
|
|
|
Sets the width of paper. You can pass in a number or a string with a unit.
|
|
|
|
</td><td>
|
|
|
|
</td></tr>
|
|
</tbody></table>
|