Member 10493886 Ответов: 1

На сервере не установлен принтер


I am using PrintToPrinter to print crystal report with page range,



It is working fine in my local computer bycause there is printer installed.

But when i am deploying that code on server than it is giving a message that Printer is not installed because there is no installed printer on server.

But i want to print through clients system I mean i want client side printing in crystal report so it will use client's printer not server printer.

Than What should i suppose to do.

Any suggestions will be highly appreciable.


Что я уже пробовал:

Dim rpdt As New ReportDocument
rpdt.Load(Server.MapPath("rptInvoicetest.rpt"))

Dim query As String = "select * from V_INV_GETINVOICERPTPRINT1 where invoiceid='" + ddlInvoiceNo.SelectedValue + "'"
Dim dsLoad As New DataSet
dsLoad = objService.Exec_Dataset1(query)

Dim InvoiceType As String = element
dsLoad.Tables(0).Rows(0)("COPY") = InvoiceType
rpdt.SetDataSource(dsLoad.Tables("V_INV_GETINVOICERPTPRINT1"))
CrystalReportViewer1.ReportSource = rpdt

CrystalReportViewer1.DataBind()
CrystalReportViewer1.RefreshReport()
CrystalReportViewer1.Visible = True

rpdt.PrintOptions.PrinterName = GetDefaultPrinter()
rpdt.PrintToPrinter(1, False, 1, 1)

Private Function GetDefaultPrinter() As String
        Dim settings As PrinterSettings = New PrinterSettings()
        For Each printer As String In PrinterSettings.InstalledPrinters
            settings.PrinterName = printer
            If settings.IsDefaultPrinter Then
                Return printer
            End If
        Next
        Return String.Empty
    End Function

1 Ответов

Рейтинг:
0

OriginalGriff

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

Поскольку ваш VB-код работает на S, он только имеет доступ к серверному оборудованию; он не может использовать никакие клиентские ресурсы, такие как принтеры. Подумайте об этом: если бы вы могли, то могли бы и вредоносные сайты - и если вы достаточно стары, чтобы помнить факсы, вы узнаете разочарование, когда придете в офис в понедельник утром и обнаружите, что вся бумага для факсов была израсходована к 18:00 предыдущей пятницы рекламой виагры ... так что никакие рабочие факсы не доходили.

Вы не можете печатать с сервера, и хотя вы можете конвертировать его в PDF - файл, который вы отправляете клиенту, вы не можете контролировать, что с ним происходит-пользователь может распечатать его, если захочет, но вы не можете сказать своему браузеру сделать это.