打印动态HTML文档

打印动态HTML文档,html,asp.net,vb.net,file,printing,Html,Asp.net,Vb.net,File,Printing,我有一个用于警报的HTML模板。我们将一些与警报相关的详细信息传递到模板中。我们现在要做的是把它打印出来。此HTML文档是动态创建的,因此不会在浏览器中打开。我已经能够将文档保存到网络驱动器中。然后我把它复制到打印机上,但没有打印成功。我不知道这是否可行,但我们需要格式良好的东西,所以纯文本不是理想的。我已经找了好几天了,但似乎找不到任何有用的东西。下面是我正在尝试的一个例子。下面的函数是从ASP.NET WEB API端点调用的,并将所需的打印机传递给它 我愿意接受所有建议 谢谢 Public

我有一个用于警报的HTML模板。我们将一些与警报相关的详细信息传递到模板中。我们现在要做的是把它打印出来。此HTML文档是动态创建的,因此不会在浏览器中打开。我已经能够将文档保存到网络驱动器中。然后我把它复制到打印机上,但没有打印成功。我不知道这是否可行,但我们需要格式良好的东西,所以纯文本不是理想的。我已经找了好几天了,但似乎找不到任何有用的东西。下面是我正在尝试的一个例子。下面的函数是从ASP.NET WEB API端点调用的,并将所需的打印机传递给它

我愿意接受所有建议

谢谢

Public Shared Function TestPrint(pPrinter As String) As String
    Dim tempateLoc As String = "\\JoshSv\Reject.htm"
    Dim printLoc As String = "\\printSv\" & pPrinter
    Dim fileLoc As String = "\\JoshSv\alert" & GetEpocTime(Now()) & ".htm"
    Dim fileHTML As String = ""

    If File.Exists(tempateLoc) Then
        Using tr As TextReader = New StreamReader(tempateLoc)
            fileHTML = tr.ReadToEnd
            Using sw As StreamWriter = New StreamWriter(fileLoc)
                sw.Write(fileHTML)
                File.Copy(fileLoc, printLoc)
            End Using
        End Using
    End If


    Return fileHTML
End Function

必须先呈现HTML文档,然后才能打印它


查看一些。

您必须先呈现HTML文档,然后才能打印它


看一些。

这可能有用。我只是稍微编辑了一下这个问题,以澄清我是从WebAPI端点调用函数的。我还在网络上输入打印机名称。但我想我可能能解决这个问题。你在使用asp.NETWebAPI吗?我不确定这会不会奏效。你可以试试看,这样可能行得通。我只是稍微编辑了一下这个问题,以澄清我是从WebAPI端点调用函数的。我还在网络上输入打印机名称。但我想我可能能解决这个问题。你在使用asp.NETWebAPI吗?我不确定这会不会奏效。你可以试试看。