2010-11-24 3 views
1

У меня есть некоторые проблемы с печатью с помощью точечного матричного принтера.Печать билета через Crystal Reports (VB.NET) с Epson LX-300 +

  • У меня есть EPSON LX-300 +
  • Я использую VB.NET 2008 и Crystal Reports
  • Я использую rpt.PrintToPrinter(1, False, 1, 1) метода для печати

Моя проблема когда я печатаю мой билет , выравнивание идеально, но принтер выбрасывает последний размер билета. Он должен остановиться после одного билета.

  • размер билет Height = 4, ширина = 10
  • установки бумаги в Crystal Reports и в собственности принтера, обволакивают # 9 1/2 10 * 4 1/8 в

ответ

0

примечание.: этот метод требует, чтобы вы установить принтер с размером бумаги по умолчанию первый затем получить доступ к данному принтеру при печати

этот метод работает с Epson LX-300 + II Dot-Matrix Printer

Если вы используете принтер специально для печати квитанций вот шаги, о том, как настроить принтер для нужного размера бумаги

первой настройке принтера для использования: Перейти к Устройства и принтеры на принтере выберите Принтер, который вы собираетесь использовать, и щелкните правой кнопкой мыши Свойства принтера Нажмите Настройки ... Кнопка. Под Главная Вкладка - Изменить Размер документа до Определено пользователем Новое новое окно. в Paper Size Name укажите имя (то есть или бумага) и изменить ширину и высоту бумаги по желанию CLICK Сохранить затем OK

enter image description here

затем установите принтер, нажав правой кнопкой мыши затем установлен как принтер по умолчанию

Добавьте эти строки кода для печати. Вы все еще можете использовать параметры и наборы данных в принтере

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) 
Смежные вопросы