在web开发中,打印首先要在服务器端创建一个pdf文件,再通过客户端浏览器打开这个pdf文件来进行打印,当然也可以把pdf文件下载的本地再打印。
可以支持函数有Print, PrintCancel, PrintClose, PrintDefineFontDefine, PrintLine, PrintOpen, PrintOval, PrintPage, PrintRect, PrintRoundRect, PrintSetSpacing, PrintText, PrintWidth, PrintX, PrintY. PrintSetFont
当程序中调用了打印函数,即在窗口的右上角会出现打印机的图标,点击它会弹出打印管理的窗口,点击打开所要打印的pdf即可
但是需要说明的是,服务器中必须安装一个虚拟打印机,sybase要求安装(或者也可以认为是推荐)ghostscript 支持输出PDF类型的打印输出: ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs851/gs851w32.exe ,并且将打印机命名为“Sybase DataWindow PS”,其实这个是datawindow打印中的默认打印机设置,当然也可以修改为其他名,不过我建议初次使用还是完全按照sybase的要求来做,这样会避免出现其他问题。
ghostscript 的具体安装说明稍等两天补上。。。。
今天补上这个
1、下载ghostscript .
2、在IIS服务器上安装GS。
3、安装打印机。在"控制面板">"打印机和传真">"添加打印机",这过程中把那个自动检测的勾去了,端口默认的LPT1就可以。驱动选择要选从"磁盘安装">"Sybase\Shared\PowerBuilder\drivers",
此时选择Adobe厂商的inf文件"ADIST5.INF",读取到五个驱动:
"Acrobat Distiller",
"Acrobat Distiller CS",
"Acrobat Distiller CT",
"Acrobat Distiller J",
"Acrobat Distiller K"
选择第一个"Acrobat Distiller"(其它四个也可以,有什么区别到现在偶还不知道),下一步即可>"安装完毕" 。
或者在 Shared\PowerBuilder\drivers 下建立一个批处理文件,内容是(注意是在一行内):
rundll32.exe printui.dll, PrintUIEntry /if /f .\\ADIST5.INF /r "LPT1:" /b "Acrobat Distiller" /m "Acrobat Distiller"
然后执行它创建一个虚拟打印机
4、把新装的打印设为默认的,然后重命名为Sybase DataWindow PS;
如果服务器中没有安装上述的这个打印机,则会出现这样一个错误: SaveAS did not complete successfully,return code is:-1。
修改打印机的用户操作权限
操作方法见下图:
如果没有ASPNET用户,必须先添加。
5.示例代码
一:
if ds_report.RowCount() > 0 then
#if defined PBWEBFORM then
if ds_report.SaveAs("myreport.pdf", PDF!, TRUE) <> -1 then
DownloadFile("myreport.pdf", true)
end if
#else
ds_report.Print()
#end if
end if
二:
//dw_report的“Data Export”下的“format to configure”修改为PDF
//Saving as PDF select the distill method
dw_report.Object.DataWindow.Export.PDF.Method = Distill!
//select printer
dw_report.Object.DataWindow.Printer = "Sybase DataWindow PS"
dw_report.Object.DataWindow.Export.PDF.Distill.CustomPostScript="Yes"
//printing pdf files
dw_report.SaveAs ( "zzz.pdf",PDF!,false)
#if defined PBWEBFORM then
DownloadFile("zzz.pdf", true) // true=打开, false=下载
#end if
dw_report.print() //如果要显示内定的打印任务窗口
- 大小: 29 KB
分享到:
相关推荐
6. **服务器端报表服务**:对于复杂的数据打印需求,如报表和表格,可以考虑使用服务器端报表服务,如SQL Server Reporting Services (SSRS)。这类服务可以生成PDF、Excel等格式的文件,用户可以直接打印,或者下载...
Ghostscript是一款功能强大的Postscript数据处理工具,它能够将Postscript转换为多种格式,对于PB11下的WebForm客户端打印输出至关重要。选择正确的Ghostscript版本是关键,如文中提到的GS6.05版本可能无法与PB11...
它支持多种显示格式,可以在不同的开发平台上使用相同的DataWindow技术来处理数据访问、展示及打印等功能。具体特点包括: - **支持的显示类型**:除RichText和OLE外,DataWindow.NET支持大多数的DataWindow显示...
这段代码定义了一个名为`preview`的JavaScript函数,当用户点击按钮时,这个函数会被调用,进而调用浏览器的`window.print()`方法,打开打印预览窗口。`<div id="content">`是放置待打印内容的地方,你可以根据需要...
在VS2008中,你可以通过"Report Data"窗口添加数据源,包括数据库、XML文件或共享数据源。然后,使用“Report Designer”来添加表格、图表、文本框等元素,布局和格式化报表。报表的每一个元素都可以绑定到数据源中...
无论是在桌面应用(Window Forms)还是Web应用(Web Forms)中,DataWindow.NET都能有效地处理数据访问、显示以及打印等功能。 #### 知识点二:DataWindow.NET的特点 - **跨平台兼容性**:DataWindow.NET支持多种...
IE6.0内置的打印模板提供了一种控制方式,可以自定义预览窗口和打印格式,从而更好地控制打印效果。 4. IE直接打印 使用`window.print()`或WebBrowser控件的`ExecWB`方法直接进行打印,操作简单,用户无需额外设置...
在报表设计界面中,通过“数据库专家”窗口选择“项目数据”->“ADO.Net数据集”->“DataSet1”->“Stores”表,将表添加到报表中。 c. **在WebForm中添加CrystalReportViewer控件** 添加一个新的WebForm,然后在...
1. **打印功能**:水晶报表查看器本身不提供打印功能,需要依赖浏览器的打印功能。 2. **注册问题**:未注册的水晶报表在VS.Net中只能使用有限次数,通常为30次。为了正常使用,需要进行注册。 3. **用户数量限制**...
Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control...
WinForm应用程序通常采用C/S(客户端/服务器)架构,其中客户端是用户交互的部分,而服务器则负责处理数据和业务逻辑。 WinForm与WebForm的主要区别在于运行环境和交互方式。WinForm应用是桌面应用,运行在本地...
Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control...