1
votes

I have some problems in printing ticket by dot matrix printer.

  • I have EPSON LX-300+
  • I am using VB.NET 2008 and Crystal Reports
  • I am using rpt.PrintToPrinter(1, False, 1, 1) method to print

My problem is when I print my ticket, the alignment is perfect but the printer eject the latter size of ticket papers. It should stop after one ticket.

  • ticket size Height=4,width=10
  • paper setup in Crystal Reports and in printer property is envelop #10 9 1/2 * 4 1/8 in.
1

1 Answers

0
votes

note: this Method requires you to set a printer with a default paper size first then access this printer when printing

This Method works with an Epson LX-300+ ii Dot-Matrix Printer

If you are using a Printer especially for Printing Receipts here are the steps on how to set your printer for desired paper size

First Set up Printer to be used: Go to Devices and Printers in Printers select the Printer you are going to use and click - right click Printer Properties Click Preferences... Button. Under Main Tab - Change Document Size to User Defined a new New Window will appear. in Paper Size Name specify the name (i.e. OR Paper) and change paper width and height as desired Click Save then OK

enter image description here

then set your printer by Pressing right click then set as Default Printer

Add these line of code for your printing. You can still use parameters and datasets in printer

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)