ASP.NET页面打印技术总结:客户端与服务器端方法
94 浏览量
更新于2024-08-30
收藏 93KB PDF 举报
"ASP.NET页面打印技术的常用方法总结"
在B/S架构的Web应用程序中,由于程序执行在浏览器端,而打印机位于本地,文件可能存储在服务器上,这给打印控制带来了挑战。以下是对几种常见ASP.NET页面打印技术的详细说明:
1. 客户端脚本方式
使用JavaScript来解析和提取页面内容,生成用于打印的文档。通过JS,我们可以分析源页面,选择需要打印的部分。这种方式的优点是,打印文档的生成在客户端完成,减轻了服务器的压力。然而,这种方法的缺点也很明显,源文档的分析过程复杂,而且需要预先约定打印内容的格式。
2. 服务器端程序方式
通过后台代码(如C#或VB.NET)从数据库中读取数据,动态生成打印文档。这种方式允许生成内容丰富且控制性强的打印文档。由于内容直接来自数据库,生成过程相对简单。但同时,这也增加了服务器端的负载。
3. 页面设置
页面设置涉及到打印文档的布局,包括页边距、页眉、页脚、纸张尺寸等。通常,我们使用IE6.0的内置打印模板来控制这些设置,它可以精细调整页面布局,甚至可以保存用户的设置。这种方法可以自定义预览窗口和打印格式,以最大程度地影响打印质量和效果。
4. IE直接打印
这是最简单的打印方法,直接调用`window.print()`或WebBrowser控件的`ExecWB`方法。这种方式快速便捷,但缺乏灵活性,无法精细控制打印内容,比如页头和页脚的格式,以及避免打印不必要的页面元素。
在实际应用中,例如将DataGrid的数据绑定到页面并打印,因为格式相对固定,一般会选择使用IE直接打印。这种情况下,可以编写如下示例代码:
```javascript
// 客户端直接调用打印
function PrintPage() {
window.print();
}
```
或在服务器端使用C#代码触发打印:
```csharp
// Server-side code to execute print
WebBrowser webBrowser = new WebBrowser();
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(PrintDocument);
webBrowser.Navigate("http://your-print-url");
...
private void PrintDocument(object sender, WebBrowserDocumentCompletedEventArgs e) {
WebBrowser webBrowser = (WebBrowser)sender;
webBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT);
}
```
这里的`OLECMDID_PRINT`和`OLECMDEXECOPT_DODEFAULT`分别表示执行打印命令和使用默认设置。
总结,ASP.NET页面打印技术的选择取决于具体需求,如需高度自定义和控制,服务器端生成可能是更好的选择;若需要快速打印且格式简单,客户端脚本或IE直接打印更为适用。在实际开发中,应根据项目特点和用户需求来选择合适的打印方案。
118 浏览量
185 浏览量
117 浏览量
337 浏览量
2011-08-16 上传
171 浏览量
2009-11-16 上传
2011-03-02 上传
2008-12-12 上传
weixin_38663113
- 粉丝: 5
- 资源: 896
最新资源
- MySQL 前端交互式工具,提升开发效率!
- React书应用
- personal_site:使用Contentful和TailWindCSS在Flask中构建的个人站点
- 公司安全专管员培训材料PPT
- tdd-part2:“通过示例进行测试驱动开发”一书第 2 部分的作业
- 用单片机编程控制AD9851,使其输出稳定的高频信号源.zip
- course-part-1-final-task
- my-pwd:我的自定义密码管理器
- 关于知识管理的资料英PPT
- 图灵集群
- 在windows下的winsocket的UDP客户端.zip
- trip_theme
- 中国人更应该大气一些DOC
- Project-Design:3D车辆演示–移动版
- OfficeWebAddinTypeScriptTest:使用TypeScript的Office Web加载项测试
- rcp209-case-study