If you are going to rotate/scale etc, it would be best to use the Goo::Canvas
. Goo will save it's entire scrolled region to a pdf or svg or png. The Gnome2::Canvas will only allow screenshots of it's visible area, and rotations must be done manually by manipulating the coordinates of the item. But Goo will be slightly slower. So you need to ask yourself what the tradeoffs are. Do you value speed, ability to rotate, or ability to save entire scrollregions to a variety of formats. Goo(Cairo based) is the most advanced ( but still in development), while the Gnome2::Canvas has had it's development status set to frozen, it dosn't save well, but is faster than Goo.
You could also go directly to Cairo and/or a DrawingArea. The only advantage of a canvas type widget, is it's persistence of items. On a DrawingArea, you are writing directly to a pixmap, which has to be reloaded on every expose event, or things disappear. It's tough to drag on a DrawingArea, whereas a canvas makes dragging a breeze.