2016 - 2024

感恩一路有你

解决Web打印问题的方案

浏览量:2310 时间:2024-01-25 18:15:03 作者:采采

在进行Web项目开发过程中,经常需要处理打印页面内容的需求。通常情况下,我们会通过Javascript调用系统内置的打印方法来实现打印功能,例如使用PrintControl.ExecWB(?, ?)函数来实现直接打印和打印预览功能。尽管这种方法的打印效果和控制性有一定限制,但对于一般的打印需求而言,仍然能够满足基本要求。

// 调用PrintControl.ExecWB(?, ?)实现直接打印和打印预览功能。
// preview:是否显示预览。null/false:不显示,true:显示

上述代码可以放在一个独立的JS文件中,并在页面中引用该脚本文件,通过进一步封装的函数来打印指定部分的内容:

lt;script language"javascript"gt;
function Print(preview) {
    var text  ("content").innerHTML;
    printContent(preview, text);
}
lt;/scriptgt;

然而,很多时候我们在页面中通过CSS来控制样式以达到更好的美观效果。因此,在打印部分HTML内容时,如果没有考虑这些样式设置,打印出来的表格格式和字体可能会发生变化,影响观感。为了解决这个问题,我们需要进行HTML样式的设置。

打印效果大致如下图所示。如果打印的页面在框架中,可能还需要选择“仅打印选定框架”的选项。使用此方法不需要安装任何控件,具有很好的兼容性。然而,在处理一些复杂内容的报表打印时,可能会遇到一些难以控制的问题,因此并非完美的选择。

后来在需要进行证件套打方面的工作时,上述的打印控件无法满足需求,因此需要寻找另一种能够更好处理套打事务的方法或控件。偶然间,我发现了一个功能强大且使用简单的打印控件,它支持各种格式的打印,并且提供了我关心的证件套打功能,非常值得推荐。

上述两种打印方式其实原理类似,都是打印部分HTML内容。然而后者看起来更加精细,并且提供了完善的报表功能设置。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。