Ciao,
se vuoi usare solo il system drawing, devi pensare ad un codice parecchio complesso, infatti devi calcolarti tutti i vari bordi e poi fare il drawing delle stringhe che ti interessa, chiaramente in un ciclo...qualcosa di questo tipo:
...
PrintDocument pdoc = new PrintDocument();
pdoc.DocumentName = "mioDoc";
pdoc.PrintPage += new PrintPageEventHandler(pdoc_PrintPage);
pdoc.Print();
...
void pdoc_PrintPage(object sender, PrintPageEventArgs e)
{
Font f = new Font("Tahoma",12);
SolidBrush b = new SolidBrush(Color.Black);
for (int i = 0; i < ...; i++)
{
e.Graphics.DrawString(
"...stringa...",
f,b,
new Point(X,Y);
}
}
Se invece puoi usare SqlReporting, avevo postato sul mio blog proprio una cosa di questo genere tempo fa:
http://blogs.dotnethell.it/freeteo/SqlReporting-Stampe-Orizzontali-tipicamente-etichette__13062.aspx
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo