2014-12-31 85 views
0

我有一个服务器端应用程序,它在服务器上创建一系列文本文件。我需要允许用户通过单击网页上的按钮直接在客户端打印机上打印一个或多个文件。这应该打开一个打印机选择窗口,然后开始打印选定的网页。我可以处理文件选择和打印机选择窗口,但无法打印文件。我在代码项目(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 

任何帮助,将不胜感激。

回答

0

您需要致电javascript。
这里是JavaScript

  function PrintFile(FilePath) { 

       var printWin = window.open(FilePath, '','left=0,top=0,width=700,height=700,status=0'); 

       printWin.focus(); 
       printWin.print(); 

      } 

这是按钮

Dim FilePath As String 
     FilePath = "This is your File Path" 

     Dim PrintFile As String 
     PrintFile = "PrintFile('" & FilePath & "')" 
     ScriptManager.RegisterStartupScript(Me, Me.GetType(), "ntmtch", PrintFile, True) 
+0

我已经把脚本标记之间的功能在我的aspx文件,并放在代码隐藏文件的代码隐藏。当我运行调试执行通过ScriptManager语句和结束小组。没有其他事情发生显然这个功能并没有被解雇。我花了很多时间阅读和尝试一些小小的改变,但却无法完成工作。 java脚本似乎没有被调用。 – Dave

相关问题