Skip to content

Commit c764f82

Browse files
authored
fix(webdriver): use correct units for format pdf option (#13516)
1 parent 018e686 commit c764f82

File tree

4 files changed

+88
-48
lines changed

4 files changed

+88
-48
lines changed

docs/api/index.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1637,27 +1637,27 @@ All the valid paper format types when printing a PDF.
16371637

16381638
The sizes of each format are as follows:
16391639

1640-
- `Letter`: 8.5in x 11in
1640+
- `Letter`: 8.5in x 11in / 21.59cm x 27.94cm
16411641

1642-
- `Legal`: 8.5in x 14in
1642+
- `Legal`: 8.5in x 14in / 21.59cm x 35.56cm
16431643

1644-
- `Tabloid`: 11in x 17in
1644+
- `Tabloid`: 11in x 17in / 27.94cm x 43.18cm
16451645

1646-
- `Ledger`: 17in x 11in
1646+
- `Ledger`: 17in x 11in / 43.18cm x 27.94cm
16471647

1648-
- `A0`: 33.1102in x 46.811in
1648+
- `A0`: 33.1102in x 46.811in / 84.1cm x 118.9cm
16491649

1650-
- `A1`: 23.3858in x 33.1102in
1650+
- `A1`: 23.3858in x 33.1102in / 59.4cm x 84.1cm
16511651

1652-
- `A2`: 16.5354in x 23.3858in
1652+
- `A2`: 16.5354in x 23.3858in / 42cm x 59.4cm
16531653

1654-
- `A3`: 11.6929in x 16.5354in
1654+
- `A3`: 11.6929in x 16.5354in / 29.7cm x 42cm
16551655

1656-
- `A4`: 8.2677in x 11.6929in
1656+
- `A4`: 8.2677in x 11.6929in / 21cm x 29.7cm
16571657

1658-
- `A5`: 5.8268in x 8.2677in
1658+
- `A5`: 5.8268in x 8.2677in / 14.8cm x 21cm
16591659

1660-
- `A6`: 4.1339in x 5.8268in
1660+
- `A6`: 4.1339in x 5.8268in / 10.5cm x 14.8cm
16611661

16621662
</td></tr>
16631663
<tr><td>

docs/api/puppeteer.paperformat.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,24 @@ export type PaperFormat =
2121

2222
The sizes of each format are as follows:
2323

24-
- `Letter`: 8.5in x 11in
24+
- `Letter`: 8.5in x 11in / 21.59cm x 27.94cm
2525

26-
- `Legal`: 8.5in x 14in
26+
- `Legal`: 8.5in x 14in / 21.59cm x 35.56cm
2727

28-
- `Tabloid`: 11in x 17in
28+
- `Tabloid`: 11in x 17in / 27.94cm x 43.18cm
2929

30-
- `Ledger`: 17in x 11in
30+
- `Ledger`: 17in x 11in / 43.18cm x 27.94cm
3131

32-
- `A0`: 33.1102in x 46.811in
32+
- `A0`: 33.1102in x 46.811in / 84.1cm x 118.9cm
3333

34-
- `A1`: 23.3858in x 33.1102in
34+
- `A1`: 23.3858in x 33.1102in / 59.4cm x 84.1cm
3535

36-
- `A2`: 16.5354in x 23.3858in
36+
- `A2`: 16.5354in x 23.3858in / 42cm x 59.4cm
3737

38-
- `A3`: 11.6929in x 16.5354in
38+
- `A3`: 11.6929in x 16.5354in / 29.7cm x 42cm
3939

40-
- `A4`: 8.2677in x 11.6929in
40+
- `A4`: 8.2677in x 11.6929in / 21cm x 29.7cm
4141

42-
- `A5`: 5.8268in x 8.2677in
42+
- `A5`: 5.8268in x 8.2677in / 14.8cm x 21cm
4343

44-
- `A6`: 4.1339in x 5.8268in
44+
- `A6`: 4.1339in x 5.8268in / 10.5cm x 14.8cm

packages/puppeteer-core/src/common/PDFOptions.ts

Lines changed: 63 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -37,27 +37,27 @@ export type LowerCasePaperFormat =
3737
*
3838
* The sizes of each format are as follows:
3939
*
40-
* - `Letter`: 8.5in x 11in
40+
* - `Letter`: 8.5in x 11in / 21.59cm x 27.94cm
4141
*
42-
* - `Legal`: 8.5in x 14in
42+
* - `Legal`: 8.5in x 14in / 21.59cm x 35.56cm
4343
*
44-
* - `Tabloid`: 11in x 17in
44+
* - `Tabloid`: 11in x 17in / 27.94cm x 43.18cm
4545
*
46-
* - `Ledger`: 17in x 11in
46+
* - `Ledger`: 17in x 11in / 43.18cm x 27.94cm
4747
*
48-
* - `A0`: 33.1102in x 46.811in
48+
* - `A0`: 33.1102in x 46.811in / 84.1cm x 118.9cm
4949
*
50-
* - `A1`: 23.3858in x 33.1102in
50+
* - `A1`: 23.3858in x 33.1102in / 59.4cm x 84.1cm
5151
*
52-
* - `A2`: 16.5354in x 23.3858in
52+
* - `A2`: 16.5354in x 23.3858in / 42cm x 59.4cm
5353
*
54-
* - `A3`: 11.6929in x 16.5354in
54+
* - `A3`: 11.6929in x 16.5354in / 29.7cm x 42cm
5555
*
56-
* - `A4`: 8.2677in x 11.6929in
56+
* - `A4`: 8.2677in x 11.6929in / 21cm x 29.7cm
5757
*
58-
* - `A5`: 5.8268in x 8.2677in
58+
* - `A5`: 5.8268in x 8.2677in / 14.8cm x 21cm
5959
*
60-
* - `A6`: 4.1339in x 5.8268in
60+
* - `A6`: 4.1339in x 5.8268in / 10.5cm x 14.8cm
6161
*
6262
* @public
6363
*/
@@ -219,18 +219,56 @@ export type ParsedPDFOptions = Required<
219219

220220
/**
221221
* @internal
222+
*
223+
* @remarks All A series paper format sizes in inches are calculated from centimeters
224+
* rounded mathematically to four decimal places.
222225
*/
223-
export const paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions> =
224-
{
225-
letter: {width: 8.5, height: 11},
226-
legal: {width: 8.5, height: 14},
227-
tabloid: {width: 11, height: 17},
228-
ledger: {width: 17, height: 11},
229-
a0: {width: 33.1102, height: 46.811},
230-
a1: {width: 23.3858, height: 33.1102},
231-
a2: {width: 16.5354, height: 23.3858},
232-
a3: {width: 11.6929, height: 16.5354},
233-
a4: {width: 8.2677, height: 11.6929},
234-
a5: {width: 5.8268, height: 8.2677},
235-
a6: {width: 4.1339, height: 5.8268},
236-
} as const;
226+
export const paperFormats: Record<
227+
LowerCasePaperFormat,
228+
Record<'cm' | 'in', PaperFormatDimensions>
229+
> = {
230+
letter: {
231+
cm: {width: 21.59, height: 27.94},
232+
in: {width: 8.5, height: 11},
233+
},
234+
legal: {
235+
cm: {width: 21.59, height: 35.56},
236+
in: {width: 8.5, height: 14},
237+
},
238+
tabloid: {
239+
cm: {width: 27.94, height: 43.18},
240+
in: {width: 11, height: 17},
241+
},
242+
ledger: {
243+
cm: {width: 43.18, height: 27.94},
244+
in: {width: 17, height: 11},
245+
},
246+
a0: {
247+
cm: {width: 84.1, height: 118.9},
248+
in: {width: 33.1102, height: 46.811},
249+
},
250+
a1: {
251+
cm: {width: 59.4, height: 84.1},
252+
in: {width: 23.3858, height: 33.1102},
253+
},
254+
a2: {
255+
cm: {width: 42, height: 59.4},
256+
in: {width: 16.5354, height: 23.3858},
257+
},
258+
a3: {
259+
cm: {width: 29.7, height: 42},
260+
in: {width: 11.6929, height: 16.5354},
261+
},
262+
a4: {
263+
cm: {width: 21, height: 29.7},
264+
in: {width: 8.2677, height: 11.6929},
265+
},
266+
a5: {
267+
cm: {width: 14.8, height: 21},
268+
in: {width: 5.8268, height: 8.2677},
269+
},
270+
a6: {
271+
cm: {width: 10.5, height: 14.8},
272+
in: {width: 4.1339, height: 5.8268},
273+
},
274+
} as const;

packages/puppeteer-core/src/common/util.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,9 @@ export function parsePDFOptions(
354354
let height = 11;
355355
if (options.format) {
356356
const format =
357-
paperFormats[options.format.toLowerCase() as LowerCasePaperFormat];
357+
paperFormats[options.format.toLowerCase() as LowerCasePaperFormat][
358+
lengthUnit
359+
];
358360
assert(format, 'Unknown paper format: ' + options.format);
359361
width = format.width;
360362
height = format.height;

0 commit comments

Comments
 (0)