Indem Du nicht das
Handle des eigenen Canvas, sondern das des Printer.Canvas übergibst. Allerdings sind da noch einige andere Dinge zu beachten, siehe himitsus Einwände, Drucken ist eben leider nicht ganz so einfach mit Delphi, wenn man alles selbst übernehmen möchte.