ASP.NET页面打印技术总结:客户端与服务器端方法
26 浏览量
更新于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直接打印更为适用。在实际开发中,应根据项目特点和用户需求来选择合适的打印方案。
2014-04-11 上传
2010-09-02 上传
2011-10-24 上传
2020-10-29 上传
2011-08-16 上传
2009-07-15 上传
2009-11-16 上传
2011-03-02 上传
2008-12-12 上传
weixin_38663113
- 粉丝: 5
- 资源: 896
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程