从嵌入ASP.NET页面的Windows控件打印

从嵌入ASP.NET页面的Windows控件打印,asp.net,security,Asp.net,Security,我正在开发一个需要以下功能的应用程序:用户单击网页上的按钮,这会导致打印文档而无需任何进一步的用户干预 我用于提供此功能的方法是在网页中使用Windows控件库嵌入Windows控件。此处提供了有关此操作的教程。我学习了一个类似的教程,Windows控件被正确地创建和显示 下一步是尝试实际打印。我首先测试了打印代码是一个独立的应用程序,以确保其功能正常。是的。我已经为那些感兴趣的人提供了下面代码的简化版本 激活代码的具体方式如下:这行代码、.Attributes.AddOnClick、myPri

我正在开发一个需要以下功能的应用程序:用户单击网页上的按钮,这会导致打印文档而无需任何进一步的用户干预

我用于提供此功能的方法是在网页中使用Windows控件库嵌入Windows控件。此处提供了有关此操作的教程。我学习了一个类似的教程,Windows控件被正确地创建和显示

下一步是尝试实际打印。我首先测试了打印代码是一个独立的应用程序,以确保其功能正常。是的。我已经为那些感兴趣的人提供了下面代码的简化版本

激活代码的具体方式如下:这行代码、.Attributes.AddOnClick、myPrintFunction;出现在页面加载中,以将JavaScript函数与按钮关联。此JavaScript函数非常简单:

    function myPrintFunction() {
        var winCtrl = document.getElementById("MyWinControl");
        winCtrl.doMyPrintFunction();
    }
问题是:代码抛出以下错误:

mscorlib:请求“System.Drawing.Printing.PrintingPermission,System.Drawing,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”类型的权限失败

我需要更改哪些权限才能使其正常工作?我发现的一个网页似乎建议设置Trust=Full可能会有所帮助,但不清楚a是否有帮助,或者b如何做到这一点

谢谢你的帮助

打印代码:

Public Class MyWinControl
    Public Sub doMyPrintFunction()
        Dim prtMyDoc As PrintDocument = printerSetup()
        If (Not prtMyDoc Is Nothing) Then prtMyDoc.Print()
    End Sub

    Private Function printerSetup() As PrintDocument
        Dim prtMyDoc As New PrintDocument
        AddHandler prtMyDoc.PrintPage, AddressOf prtMyDoc_PrintPage
        prtMyDoc.PrinterSettings.PrinterName = "<my default printer>"
        Return prtMyDoc
    End Function

    Private Sub prtMyDoc_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
        ' use graphics native call to build up page to be printed
        ' it is accessed via e.Graphics
    End Sub
End Class

你找错人了。除非每个用户都有相同的设置,否则这永远不会对超过一小部分用户起作用。使用javascript的打印支持打印网页,并允许用户对其进行一些控制。如果你做得更多,你就不会了解整个基于web的应用程序的概念


如果您需要一些严格的格式,或者想要打印Word文档或PDF之类的内容,您只需将文件推给用户,让他们自己处理/打印即可。

此文档是由服务器打印还是由客户端打印?打印是在客户端完成的。Bryan,感谢您抽出时间回复。关于设置的需要,您是完全正确的。对于这种应用,它是可以控制的。使用JavaScript将不起作用-打印过程必须完全不受干扰-单击一下即可生成文档。这些文件都是名牌。