Как распечатать Crystal Report непосредственно на сетевой принтер в Vb.net или C # .net в приложениях Windows

2

Я написал следующий код как,

        Dim report As New ReportDocument
        report.PrintOptions.PrinterName = "\\network\printer"
        report.Load(CrystalReportName.rpt, OpenReportMethod.OpenReportByDefault)
        report.PrintToPrinter(1, False, 0, 0)

когда я пытаюсь запустить этот код, он показывает сообщение об ошибке как "Invalid Printer Specified". Если я дам имя локального принтера, он работает нормально. Но я не могу распечатать отчет о кристалле непосредственно на сетевом принтере. Нужна помощь. Спасибо заранее.

Sivakumar.P

Теги:

6 ответов

1
Лучший ответ

Возможно, имя принтера неверно.

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

http://www.codeproject.com/KB/printing/printtoprinter.aspx

а затем назначьте собственное имя.

Однако, если он не работает, может возникнуть проблема с разрешением, а затем посмотрите

http://forums.asp.net/t/1383129.aspx

Удачи,

2

Если у кого-то еще есть эта проблема:

В документе отчета о кристалле, который вы пытаетесь распечатать, перейдите к:

Дизайн → Настройка страницы

Возможно, выбран принтер по умолчанию, который не установлен на вашей стороне сервера. Удалите или замените его и сохраните документ. Затем запустите свой .Net-код, чтобы установить принтер динамически, если хотите.

2

Используйте этот код, чтобы знать установленные принтеры

Imports System.Drawing
Imports System.Drawing.Printing

и этот код в функции загрузки... вы правильно заполните поле со списком с принтерами и их именами, а затем используйте свой код

For Each Printer In PrinterSettings.InstalledPrinters
    cmbPrinters.Items.Add(Printer)
Next
1

Пользовательские обратные слезы i.e\\перед сетью и 2 обратной косой черты i.e\before printername

   \\\\[Network Address]\\[printer name]
1

Для тех, у кого есть аналогичная проблема, это может быть решение:

report.PrintOptions.PrinterName = "\\\\\\\\network\\\\printer"
0

В ASP.Net простое и приятное решение заключается в установке тех же драйверов принтера (например, hp или zebraa), в том числе версии на сервере и в клинике meachine, он будет работать с @\\\ipaddress\printername.

  • 1
    Как этот ответ связан с вопросом о печати в приложениях Windows?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню