Non ho purtroppo molto tempo a disposizione per approfondire, ma credo si possa ottenere qualcosa giocando con le variabili "rettangolo" che passi al metodo DrawTo.

Ad esempio, nel codice che hai riportato vi sono queste variabili:
codice:
Printer.Canvas.ClipRect
ImgFoglioRettangolo.Bitmap.BoundsRect
In sostanza, utilizzi il ClipRect della stampante che identifica il rettangolo relativo allo spazio dedicato alla pagina in cui possono risiedere gli elementi grafici.

Il secondo parametro, Bitmap.BoundsRect, specifica un rettangolo relativo ai "confini" dell'intero bitmap da disegnare.

Modificando il primo parametro, puoi ottenere un rettangolo di diverse dimensioni in cui copiare l'immagine; con il secondo parametro, invece, puoi stabilire quale porzione dell'immagine copiare.

Ad esempio, supponendo di acquisire in una variabile il valore di Bitmap.BoundsRect e di modificarne la posizione e le dimensioni, potresti variare la parte di immagine da copiare nel Canvas della stampante; in quale area deve essere copiata tale porzione di immagine? in quella indicata dal primo parametro.

Riassumendo, giocando su questi parametri puoi stabilire posizione e dimensione delle aree, rispettivamente quella di destinazione sul foglio virtuale della stampante e di origine del bitmap da stampare.

Ciao!