最近几年一直在教育行业工作,主要负责竞赛类系统的开发工作,包括网上报名,安排考场,在线考试,学业报告书等。

打印功能在这个信息化时代非常普遍,浏览器都自带打印功能,通常的做法是调用 window.print() 完成。

于是教学部对我们互联网信息部提出了一个更高级别的需求:批量打印!对于所有参加考试的学生,需要打印每个学生的学业报告书,一共4份,考试总体概况1个页面,单科语数外成绩页面共3个页面,合计一共是4个页面。
需求定下来了,必须的做呀,我们老大强力要拦下这个需求,还是被驳回,可怜的程序员。 想了好几天,总有个方案:客户端程序请求学生报告书页面,把需要打印的页面截图,每个页面保存到一个excel文件的同一个的sheet中,sheet用学生姓名命名,
excel用班别校区名年级组合命名,再把文件压缩打包。

压缩包你们看到有数字后缀,原因是同一个校区学生是分批请求,每次打印学生个数设定在50个,数量过多客户端程序可能会卡死,客户端程序可以多开,一般5个即可,过多可能会造成服务器反应不过来的情况(服务器配置好可以不考虑),这个时候打包压缩文件会失败,程序中断。

这些文件发给校区同事,他们下载,即可批量打印。

.net 批量打印可实现方案的更多相关文章

  1. python 批量打印PDF

    有一批PDF文件,好几百个,每个只打印第2,3页,双面打印. 网上搜索一波,方案如下: 安装Ghostscript,GhostView,使用gsprint命令打印pdf文件. gsprint命令参数说 ...

  2. ArcGIS中国工具应用:固定比例尺固定纸张批量打印

    ArcGIS中国工具应用:固定比例尺固定纸张批量打印 下载地址:http://files.cnblogs.com/files/gisoracle/a3batchprint.zip 固定A3,比例尺1: ...

  3. (转: daifubing的博客 )Delphi二维码中文支持、分组、批量打印经验小结

    一直也没接触到什么复杂的报表,都是一些简单的报表,在DelphI下使用QuickReport一般也就能满足需要了,由于公司现在需求的变化,对条码扫描提出了新的要求,主要是扫码要包含更多地内容,以前的一 ...

  4. asp.net Lodop实现批量打印

    1.列表(前台) <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="w_stu ...

  5. RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充

    RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充 做Web开发的同志应该都深有体会,在web程序中打印不再象应用程序中那样便于控制了,web程序天生的一些特性造成了这个缺点, ...

  6. VS2012报表(RDLC)系列应用之单据批量打印

    一.前言 最近做的项目需要单据批量打印的功能,优先想到用RDLC来实现.经过Visual Studio几个版本的发展后,RDLC愈发成熟,操作方式也变得简洁,相比vs2005的版本,有质的提升,不过仍 ...

  7. [Q]关于不同比例、不同纸张大小图纸的批量打印

    不同比例或不同纸张大小的图纸可以一起批量打印,但目前打图精灵不能自动识别纸张大小,纸张大小是手动指定的,且只能指定一种纸张大小,但设置打印比例为“缩放到可打印区域”或“缩放到纸张边界”仍然可以将不同比 ...

  8. winfrom 实现条形码批量打印以及将条形码信息生成PDF文件

    最近,老大让给客户做个邮包管理程序.其中,包括一些基本信息的增.删.查和改,这些倒不是很难搞定它分分钟的事.其主要难点就在于如何生成条形码.如何批量打印条形码以及将界面条形码信息批量生成以其各自的 b ...

  9. 一键批量打印EXCEL、WORD文档

    一键批量打印EXCEL.WORD文档,本方法也可以打印同一个文档N份,可以批量打印A3.A4文档,包括单.双面打印等.希望能帮到广大朋友.请大家注重原创版权,不得在未经许可的下转载.传播,或者用来对同 ...

随机推荐

  1. Entity Framework技术导游系列 开篇 (转)

    在微软平台写程序有年头了,随着微软数据存取技术的持续演化,我在程序中先后使用过ODBC.DAO.ADO.ADO.NET.LINQ to SQL. Entity Framework这些技术. 近几年来, ...

  2. Jquery--弹窗

    <title>弹窗</title> <script src="JS/jquery-1.7.2.js"></script> <s ...

  3. PHP面向对象_重载新的方法(parent::)

    在学习PHP 这种语言中你会发现, PHP中的方法是不能重载的, 所谓的方法重载就是定义相同的方法名,通过“参数的个数“不同或“参数的类型“不 同,来访问我们的相同方法名的不同方法.但是因为PHP是弱 ...

  4. QT学习入门笔记

    系统路径 path 添加dll路径,如D:\QT\5.4\mingw491_32. .pro 文件添加 QT +=  widgets,否则出现qapplication no such file or ...

  5. Linux驱动学习之常用的模块操作命令

    1.常用的模块操作命令 (1)lsmod(list module,将模块列表显示),功能是打印出当前内核中已经安装的模块列表 (2)insmod(install module,安装模块),功能是向当前 ...

  6. information_schema.TABLES

    获取所有表结构(TABLES) SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA='数据库名'; TABLES表:提供了关于数据库中 ...

  7. nginx配置文件httpd.conf详解

     PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这 ...

  8. fedora23 tweak tool不工作解决方案

    在启动器中打开 优化工具 失败 在终端中开启显示 Traceback (most recent call last): File "/usr/bin/gnome-tweak-tool&quo ...

  9. java io流之字符流

    字符流 在程序中一个字符等于两个字节,那么java提供了Reader.Writer两个专门操作字符流的类. 字符输出流:Writer Writer本身是一个字符流的输出类,此类的定义如下: publi ...

  10. SWT组件添加事件的四种方式

    在我们CS日常开发过程中会经常去为组件添加事件,我们常用的为AWT与SWT.SWT的事件模型是和标准的AWT基本一样的.下面将按照事件的四种写法来实现它. 一.匿名内部类的写法 new MouseAd ...