Windows GDI functions give much more options. Though it requires a certain amount of programming.
Any window and any printer can be linked to a device context. The device context is like a canvas, you can draw on it using many dozens of GDI functions: lines in different angles, curves, ellipses, rectangles, polygons, irregular shapes using various line and fill styles, print text and draw images stored in bitmap files.
If a graphic object is drawn on a window, it is possible to copy its image to a printer -- actually the image is copied between two device contexts.