How do I create a PDF page with a different page size?

Q: How do I create a PDF page with a different page size?

Page pg = pdfdoc.PageCreate();
pdfdoc.PagePushBack(pg);

creates a 'letter' page, but I would like to create ISO A4 page.
---
A: You can pass the page size as the optional parameter to
PageCreate(media_box) method.

For example:

in C#/Java/VB

Page pg = pdfdoc.PageCreate(new Rect(0, 0, 595, 842));
pdfdoc.PagePushBack(pg);
...

in C/C++
Page pg = pdfdoc.PageCreate(Rect(0, 0, 595, 842));

Please note that page dimensions are expressed in PDF 'points' (1 pt =
1/72 inch).

The following is a listing of some standard U.S. page sizes:

Letter = Rect(0, 0, 612, 792)
Legal = Rect(0, 0, 612, 1008)
Ledger = Rect(0, 0, 1224, 792)
Tabloid = Rect(0, 0, 792, 1224)
Executive = Rect(0, 0, 522, 756)

The following is a listing of ISO standard page sizes:

4A0 = Rect(0, 0, 4768, 6741)
2A0 = Rect(0, 0, 3370, 4768)
A0 = Rect(0, 0, 2384, 3370)
A1 = Rect(0, 0, 1684, 2384)
A2 = Rect(0, 0, 1191, 1684)
A3 = Rect(0, 0, 842, 1191)
A4 = Rect(0, 0, 595, 842)
A5 = Rect(0, 0, 420, 595)
A6 = Rect(0, 0, 298, 420)
A7 = Rect(0, 0, 210, 298)
A8 = Rect(0, 0, 147, 210)
A9 = Rect(0, 0, 105, 147)
A10 = Rect(0, 0, 74, 105)
B0 = Rect(0, 0, 2835, 4008)
B1 = Rect(0, 0, 2004, 2835)
B2 = Rect(0, 0, 1417, 2004)
B3 = Rect(0, 0, 1001, 1417)
B4 = Rect(0, 0, 709, 1001)
B5 = Rect(0, 0, 499, 709)
B6 = Rect(0, 0, 354, 499)
B7 = Rect(0, 0, 249, 354)
B8 = Rect(0, 0, 176, 249)
B9 = Rect(0, 0, 125, 176)
B10 = Rect(0, 0, 88, 125)
C0 = Rect(0, 0, 2599, 3677)
C1 = Rect(0, 0, 1837, 2599)
C2 = Rect(0, 0, 1298, 1837)
C3 = Rect(0, 0, 918, 1298)
C4 = Rect(0, 0, 649, 918)
C5 = Rect(0, 0, 459, 649)
C6 = Rect(0, 0, 323, 459)
C7 = Rect(0, 0, 230, 323)
C8 = Rect(0, 0, 162, 230)
C9 = Rect(0, 0, 113, 162)
C10 = Rect(0, 0, 79, 113)