J'utilise C# avec Winforms. J'essaie d'imprimer des factures sur un rouleau de papier. La largeur du papier est de 3 pouces mais la longueur du papier est dynamique (c'est un papier rouleau). La longueur dépend du nombre d'éléments présents dans la liste. Par exemple. dans un achat s'il y a 100 articles vendus alors ce sera un roulement assez long tandis que pour un seul article acheté il serait de petite longueur.Impression sur du papier en rouleau
Lorsque j'imprime le rapport, après le travail final, l'imprimante éjecte la dernière page plus que nécessaire. Il éjecte le papier aussi longtemps que le format A4. Je veux imprimer les lignes requises, puis arrêter l'impression. J'utilise un rouleau de papier, pas A4 ou A3 et une imprimante Epson LQ-300 + II.
Pour être plus précis, l'impression est toujours effectuée sur des unités de la taille d'une page. Si je règle la page à 3in x 8in alors je finis toujours avec une impression qui est un multiple de 8in long. Si j'ai un projet de loi de 9 pouces à imprimer, je me retrouve avec une impression de 16 pouces, gaspillant 7 pouces de papier. Comment puis-je imprimer avec la dernière page étant aussi longtemps que nécessaire?
Voici le code:
private void printDoc_PrintPage(Object sender, PrintPageEventArgs e)
{
Font printFont = new Font("Courier New", 12);
int y = 15;
e.Graphics.DrawString("a Line", printFont, Brushes.Black, 0, y); y = y + 20;
e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 25;
e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 35;
e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 45;
}
Quelle est votre question? Vous devriez simplement pouvoir continuer à imprimer jusqu'à ce que vous ayez fini. Ensuite, vous aurez terminé. C'est l'avantage du papier rouleau. –
+1, continuez à dessiner jusqu'à ce que vous avez terminé et terminer avec une déclaration pour couper le papier. J'avais l'habitude de le faire en utilisant GDI, aucune expérience avec les rapports Crystal – Anton