Как печатать в VB? - PullRequest
       4

Как печатать в VB?

0 голосов
/ 25 сентября 2011

У меня есть сборка веб-приложения с использованием классического ASP и VB.Как распечатать документ из внутреннего кода VB?

Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click

End Sub

Что я пытаюсь сделать, это заставить пользователя нажать на кнопку, письмо генерируется и отправляется на принтер?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2011

вы можете посмотреть на некоторые фреймворки отчетов, такие как CrystalReports (раньше поставлялись с VS, но в настоящее время вы должны загрузить его из SAP.

Вот хороший учебник для механизма отчетов, который упакован в Visual Studio (должен признать, что у меня нет особого опыта в этом, но он выглядит хорошо для меня): Создание отчета ASP.NET

0 голосов
/ 25 сентября 2011

Вы можете использовать функцию javascript window.print, которая откроет диалоговое окно печати в браузере клиента, позволяя ему выбрать принтер и распечатать страницу:

Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click
    ClientScript.RegisterStartupScript([GetType](), "print", "window.print();", true)
End Sub

В качестве стороныобратите внимание, что у вас нет классического приложения ASP с VB, у вас есть классическое приложение ASP.NET WebForms, использующее VB.NET в качестве кода.


ОБНОВЛЕНИЕ:

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

Imports System.Web
Imports System.Web.Services

Public Class Print
    Implements System.Web.IHttpHandler

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        context.Response.ContentType = "text/html"
        context.Response.Write("<html><body onload=""window.print();""><table><tr><td>value1</td><td>value1</td></tr></table></body></html>")
    End Sub

    ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

Теперь просто перейдите к /Print.ashx.

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