直接输出到打印机

时间:2017-09-08 09:16:22

标签: vb.net printing system.drawing componentone

我使用ComponentOne Winforms套件,特别是FlexReport控件,生成输出,该输出将直接发送到多台打印机之一。我相信这不是ComponentOne套件的一个问题,因为我遇到了与Crystal类似的问题。

最终结果将作为VB .Net Windows服务运行,但我遇到了真正的问题。目前的代码如下:

Dim factory As New DatabaseProviderFactory()
Dim sysDb As SqlDatabase
Dim dsOrderList As New DataSet
Dim dsOrderDetail As New DataSet

Dim frPicklist55 As New C1.Win.FlexReport.C1FlexReport
Dim p1 As C1.Win.FlexReport.ReportParameter
Dim options As C1PrintOptions = New C1PrintOptions()
options.PrinterSettings = New PrinterSettings()
options.PageSettings = New System.Drawing.Printing.PageSettings()
'options.PrinterSettings.PrinterName = "\\printsvr\printername"
'options.PrinterSettings.PrinterName = "\\\\printsvr\\printername"
options.PrinterSettings.PrinterName = "Printer1"

sysDb = factory.Create("sys")

dsOrderList = sysDb.ExecuteDataSet("sp_apispool_getorders")

For Each r In dsOrderList.Tables(0).Rows
    dsOrderDetail = sysDb.ExecuteDataSet("sp_apispool_getorder", r("order_no"))

    frPicklist55.Load("D:\API Spooling Docs\Rpt55Picklist.flxr", "Picklist")
    frPicklist55.Parameters("OrderNo").Value = r("order_no")
    frPicklist55.Render()

    frPicklist55.Print(options)

Next

具体来说,问题是:

  • 如果我使用共享打印机('\ printsvr \ printername'或'\\ printsvr \ printername'),我会收到有关打印机设置无效的例外情况。
  • 如果我使用本地打印机('Printer1'),我会收到例外情况 - '不支持操作'

这应该很简单,但我怀疑我遗漏了一些基本的东西。无论我做什么,我都会在调用Print函数时获得异常。

有什么想法吗?

0 个答案:

没有答案