【发布时间】:2014-12-31 17:42:29
【问题描述】:
我有一个服务器端应用程序,它在服务器上创建一系列文本文件。我需要允许用户通过单击网页上的按钮直接在客户端打印机上打印一个或多个文件。这应该会打开一个打印机选择窗口,然后开始打印选定的网页。我可以处理文件选择和打印机选择窗口,但无法获取要打印的文件。我在 Code Project (http://www.codeproject.com/Tips/689325/Send-PDF-files-directly-to-client-printer-without) 上找到了代码,该代码被描述为完全符合我的需要,但用于 PDF 文件。我试图将其调整为文本文件,并且代码运行时没有明显错误,但是没有任何东西到达打印机,我不知道如何定位代码执行网页源代码的 Object 标记的 value 属性后会发生什么(见下文)。我在 VB.Net 中编程。
这里是源代码中的对象标签:
<object id = "Object1" name="Txt1"
type="file/txt" width="1" height="1" >
<param name='SRC' value='<%= SReportFileName %>'/>
</object>
下面是代码隐藏文件中的代码:
Partial Class ViewResults_PrintingReports
Inherits System.Web.UI.Page
Public SReportFileName As String = ""
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim PathName As String = ""
Dim Uname As String = ""
Dim Iyr As String = ""
Dim Iwld As String = ""
Dim Iqtr As String = ""
Dim FName As String = ""
Dim CNumber As String = ""
Uname = "UserName"
Iyr = "3"
Iqtr = "1"
FName = "ReportA"
CNumber = "1"
Iwld = "1"
' Dim cs As ClientScriptManager = Page.ClientScript
PathName = "~/Competitions/" & Uname & "/BP/" & "World" & Iwld & "/Reports/QtrRpts" & Iwld & "." & Iyr & Iqtr & "/" & FName & "." & Iwld & CNumber & ".txt"
SReportFileName = PathName '// temp/mypdf.pdf
Try
ClientScript.RegisterStartupScript(GetType(Page), "MessagePopUp", "<script language=text/javascript>document.Txt1.printAll()</script>")
Catch ex As Exception
MsgBox("Problem printing file", , ex.Message)
End Try
End Sub
End Class
任何帮助将不胜感激。
【问题讨论】: