2010-11-24 23 views
1

L'impression de tickets par imprimante matricielle pose quelques problèmes.Impression de tickets via Crystal Reports (VB.NET) avec Epson LX-300 +

  • Je EPSON LX-300 +
  • J'utilise VB.NET 2008 et Crystal Reports
  • J'utilise rpt.PrintToPrinter(1, False, 1, 1) méthode pour imprimer

Mon problème est quand j'imprimer mon billet , l'alignement est parfait mais l'imprimante éjecte la dernière taille de papier ticket. Il devrait s'arrêter après un ticket.

  • Taille du billet Hauteur = 4, width = 10
  • configuration du papier dans Crystal Reports et dans la propriété de l'imprimante est enveloppent # 10 9 1/2 * 4 1/8 po

Répondre

0

note.: cette méthode vous oblige à définir une imprimante avec un format de papier par défaut premier accéder puis cette imprimante lors de l'impression

cette méthode fonctionne avec un Epson LX-300 + II matricielle imprimante

Si vous utilisez une imprimante spécialement pour impression des reçus ici sont les étapes sur la façon de configurer votre imprimante pour la taille de papier souhaitée

d'abord configurer l'imprimante à utiliser: Aller à Périphériques et imprimantes dans Imprimantes sélectionnez l'imprimante que vous allez utiliser et cliquez avec le bouton droit de la souris Propriétés de l'imprimante Cliquez sur Préférences ... Bouton. Sous Principal Onglet - Modifier Taille du document à Défini par l'utilisateur une nouvelle nouvelle fenêtre apparaîtra. Taille du papier Nom, indiquez le nom (ie ou papier) et changer la largeur du papier et la hauteur souhaitée Cliquez Enregistrer puis OK

enter image description here

puis définissez votre imprimante en appuyant sur un clic droit puis définir comme imprimante par défaut

Ajoutez ces lignes de code pour votre impression. Vous pouvez toujours utiliser les paramètres et jeux de données dans l'imprimante

Dim c As Integer 
     Dim doctoprint As New System.Drawing.Printing.PrintDocument() 
     doctoprint.PrinterSettings.PrinterName = "EPSON L1300 Series" 
     Dim rawKind As Integer 
     For c = 0 To doctoprint.PrinterSettings.PaperSizes.Count - 1 
      If doctoprint.PrinterSettings.PaperSizes(c).PaperName = "OR Receipts" Then 
       rawKind = CInt(doctoprint.PrinterSettings.PaperSizes(c).GetType().GetField("kind", Reflection.BindingFlags.Instance Or 

Reflection.BindingFlags.NonPublic).GetValue(doctoprint.PrinterSettings.PaperSizes(c))) 
       Exit For 
      End If 
     Next 

     Report1.PrintOptions.PaperSize = CType(rawKind, CrystalDecisions.Shared.PaperSize) 
     frmPreview.CrystalReportViewer1.ReportSource = Report1 
     Report1.PrintToPrinter(1, False, 1, 1)