The part of a PageLayout a shell shows: a scroll position and a size in viewport pixels, and a zoom in pixels per point.
public Viewport(double X, double Y, double Width, double Height, double Zoom)
The horizontal scroll offset in pixels: the content's pixel column at the viewport's left edge.
The vertical scroll offset in pixels: the content's pixel row at the viewport's top edge.
The viewport's width in pixels.
The viewport's height in pixels.
Pixels per point (the Scale of the tiles it shows): 1 is 72 DPI. Use device pixels (multiply by the display's pixel ratio) so the tiles are sharp.
Spec #33 story 54 (viewer capability 14). Content narrower or shorter than the viewport is centred along that axis, and the scroll offset along it is then ignored.