多个htm文件合并打印的方法

由于医院管理是b/s架构的,所以生成的各种页面都是html的,平时经常会遇到打印一批html文件,比如校内教工体检报告、医疗费清单等等。

过去采用的方法,是用鼠标选定若干个htm文件,右键选“打印”。这种方法需要手工确认每个文件的打印对话框,而且打印机也是每次要重新启动,打印效率很低。

下载使用了网上的打印工具,发现对htm文件的打印处理有问题,版面和内容都发生了一些变化。

只好自己想办法解决,经过网上查询,知道htm是有打印分隔线的,这样可以利用打印分隔线把很多htm文件拼成一个临时的htm文件,这样只需要打印一次这个htm文件就可以了。

经过几次实际测试使用,用这种方法打印效率高了很多,简单的处理代码如下:

#!/usr/bin/perl

print "input path:";
my $path = ;

chop ($path);

my @files = glob("$path\\*.*");

open (f2,">printall.htm");

my $max = $#files;
my $i = 0;

foreach $f (@files)
{
open (f1,"$f");
while()
{
  print f2 $_;
}
close f1;

if ($i != $max)
{
  print f2 "\n

<\/div>";
}

$i++;
}

close f2;