psSurfaceCreate

fncairo.surface.Surface psSurfaceCreate(string filename, double widthInPoints, double heightInPoints)

Creates a PostScript surface of the specified size in points to be written to filename. See [cairo.global.psSurfaceCreateForStream] for a more flexible mechanism for handling the PostScript output than simply writing it to a named file.

Note that the size of individual pages of the PostScript output can vary. See [cairo.global.psSurfaceSetSize].

Parameters

filenamea filename for the PS output (must be writable), null may be used to specify no output. This will generate a PS surface that may be queried and used as a source, without generating a temporary file.
widthInPointswidth of the surface, in points (1 point == 1/72.0 inch)
heightInPointsheight of the surface, in points (1 point == 1/72.0 inch)

Returns

a pointer to the newly created surface. The caller

owns the surface and should call [cairo.surface.Surface.destroy] when done with it.

This function always returns a valid pointer, but it will return a pointer to a "nil" surface if an error such as out of memory occurs. You can use [cairo.surface.Surface.status] to check for this.