This is good if you have predefined picture.
But I want to draw symbol instance on the fly, how Creo is do.
One way is collect all items from symbol instance and draw into Drawing area component. But it is not very easy!
Yes, It is the best way to do same. But I would go with 5 to 7 image available as different symbol representation and show specific image for concerned symbol.
This would save considerable amount of effort, but it is not the best solution.
Parsing the symbol is painful, but what you can do is:
A plotter driver is not that complicated, you have only to bind a couple of primitives, like text, lines, arcs... If you have something like a canvas to draw in PTC‘s GUI you can bind the driver function to draw your symbols. You may have an Bounding Box issue, but this should be solvable 🙃