当前位置:首页 » 网页前端 » 基于web报表的打印系统
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

基于web报表的打印系统

发布时间: 2022-05-16 08:23:12

① web打印有那几种方法

一、浏览器的打印功能菜单

这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如:

不能精确分页。浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。

不能准确对齐边边距及打印文字。

不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。

二、使用webbrowser控件+ javascript

这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。

三 、使用print css

这是一种最理想的实现web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比 如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印css,参见http://css-discuss.incutio.com /?page=PrintStylesheets

四 、使用PDF文件

用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能 实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf不那么普及的中国,这种方案不是最好选择。

② web网站怎样实现打印功能

直接调用系统自带的WebBrowser控件就可以了。
增加代码如下:
<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
VIEWASTEXT>
</OBJECT>
<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印">
<input onclick="document.all.WebBrowser.ExecWB(7,1)" type="button" value="打印预览">

③ web报表系统是什么啊有什么用处

Web是一种新的互联网方式,一般通过网络应用程序(WebApplications)促进了网络上人与人间的信息交换和协同合作,其模式更加以用户为中心。Web最早的概念包括常更新的静态HTML页面。而,com时代的成功则是依靠一个更加动态的Web,其中CMS(内容管理系统)可以从不断变化的内容数据库中即时生成动态HTML页面。从这两种意义上来说,所谓的眼球效应则被认为是固有的Web感受,也因此页面点击率和外观成为了重要因素。Web报表,简单的说,就是借助Web平台,可以让用户在线查看、编辑、保存、输出的报表。像国产的FineReport就是一款很好的web报表系统,可以帮助企业制作各种各样的报表。

④ java web 几种WEB报表的打印方式

之前因为需要,去学习了几种WEB报表的打印方式,发现用Java直接去操作Word、Excel还是不那么方便,下面就简单介绍几种;

1、用浏览器自带的打印功能直接打印;

这种方式是最直接的,方便的,不需要加什么插件jar包,只要前台在一个div中模仿着报表的格式去设置界面布局,然后把数据动态的填充进去,再调用JavaScript打印函数,就可以实现界面的局部打印功能。(如果不想让报表div在界面中显示出来可以隐藏之)PS:不过直接在前台界面打印还是会遇到意想不到的情况,不同浏览器的问题,反正我就遇到不同浏览器打印出来的报表排版不一的情况,用的时候需要注意。

eg:

div布局

<divid="printdiv"style="display:none;">
<tableid="tableid"class="main"cellspacing="0"cellpadding="0"border="1"
bordercolor="#000000"width="800px;">
/******yourcode******/
</table>
</div>

JavaScript部分:(自己根据需要选择触发响应的JS函数)

functionwindowprint(){

varf=document.getElementById("printdiv");
f.style.display="";
window.print();
f.style.display="none";
}

functionmyPrint(obj){

varnewWindow=window.open("打印窗口","_blank");
vardocStr=obj.innerHTML;
newWindow.document.write(docStr);
newWindow.document.close();
newWindow.print();
newWindow.close();
}

⑤ web如何实现客户端打印在线文件(pdf,word,excel等),同时可以控制打印设置

浏览器本身并不支持,可能通过客户端安装一些软件。然后浏览器中js调用实现。
方案1:本地软件开了http服务器,监听一个端口。浏览器中通过127.0.0.1发jsonp请求和本地软件通信
方案2:浏览器中js浏览器扩展通信,扩展再和本地软件通信。可以参考chrome extension api

⑥ 怎样在web中实现报表打印和打印预览

一、 浏览器的菜单打印功能
这是最简单的,只需点击页面上的打印菜单,但是也是问题最多的,基本上是不能满足用户需要。比如:不能精确分页,有出现打出半行字的风险;改变纸型后打印出的格式和页面显示的格式相差太大;页眉页脚也需要从菜单中去设置,等等等等。这种方案最大的优势就是不需要做任何代码,点击打印就可以了。
二、 window.Print()
这实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型,套打的问题更加无从谈起,只不过,可以让用户不用去点菜单,直接点击网页中的一个按钮,或一个链接里面调用罢了。
需要指出的是这种方法提供一个打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的时候重新编辑一些格式,专门送去打印,打印后又处理回来。
function window.onbeforeprint()
{
//将一些不需要打印的隐藏
}
function window.onafterprint()
{
//放开隐藏的元素
}

事实上,很多用户都是采用这种方式打印,但是这种方式最致命的缺点是不能设置打印参数,比如纸型,页边距,选择打印机等等。

三、 导出excel导出pdf文件的打印
将需要打印的数据导出excel文件或者导出pdf文件,然后打开excel文件或者pdf文件重新打印,用这种方案能实现精确的打印,套打也能实现,但是需要客户端安装excel和adobe软件,操作起来也有些麻烦,并且导出的excel文件可以重新修改编辑,一般用户都会要求系统提供这种导出的方案,也同时需要直接打印的功能,所以个人觉得这种方案也不能很好的解决打印的问题。

四、 纯ActiveX控件
这种方案其实就是编写一个C/S的打印控件,然后嵌入到页面里面,将要打印的数据装入到控件中,然后打印。这种方案的优点是打印精度高,分页,设置打印参数等等都能实现。但是缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件通常都比较大,一般都超过1M,下载很慢。

⑦ 求推荐现在有什么好用的web报表工具

思迈特软件Smartbi的报表工具就挺好用的,思迈特软件Smartbi在大数据审计分析中的应用重点包括跨库查询、高性能存储、疑点生成、自助分析、数据报送、财务分析、专题分析、自动取证单、大屏报送等。思迈特软件Smartbi是一款基于轻量级Web报表工具,采用拖拽式设计模式,不需任何服务器和组件支持,即可在 Mac、Linux 和 Windows 操作系统中,设计多种类型的报表。

思迈特软件Smartbi在Web平台的扩展,不但继承了其强大的报表设计能力和高效的报表开发引擎,还提供了全新的跨平台报表设计器和纯前端报表查看器,全面支持 Node.js、Angular、React、Vue 等前端开发框架。
Smartbi从报表开发的数据准备、样式设计、数据计算、数据可视化、互动逻辑、共享发布六大步骤上都有特色的功能,充分利用了Excel的现有能力,堪称企业报表平台的解决方案专家。尤其集成了Excel和ECharts后,使得Smartbi Insight具有丰富的展现力、强大的互动性(基于单元格和对象的数据模型)、超级灵活的布局能力,而且这些都可以在Excel界面上全部完成。


集群:提高系统性能和可靠性

高一致性:所有通过Smartbi产品进行的配置和文件都可以随时同步到集群的各个节点。

高可用性:支持所有单机功能。单一节点宕机后,系统仍可正常访问

强扩展性:基于良好的架构设计,随着节点的增加,系统所支持的并发几乎呈线性增长,且每个节点的负载更加均衡。

使用简单:可在平台中通过简单的操作快速配置集群环境,其中节点的增删支持热部署。此外,还可在平台中监控各个节点的运行情况和日志。

自成立初期,思迈特软件Smartbi就一直坚持国产自主研发道路,先后获得软着数十项;同时与华为、深信服、新华三、达梦、麒麟软件、人大金仓等合作伙伴通力合作,共同打造产品销售、产品整合、产品应用的国产化可信生态体系,与上下游厂商、专业实施伙伴和销售渠道伙伴共同为最终用户服务。

报表工具靠不靠谱,来试试Smartbi,思迈特软件Smartbi经过多年持续自主研发,凝聚大量商业智能最佳实践经验,整合了各行业的数据分析和决策支持的功能需求。满足最终用户在企业级报表、数据可视化分析、自助探索分析、数据挖掘建模、AI智能分析等大数据分析需求。

思迈特软件Smartbi个人用户全功能模块长期免费试用
马上免费体验:Smartbi一站式大数据分析平台

⑧ 什么是Web打印,最好说个定义,还有是怎样实现的,请说的详细一点,谢!!

就是网页打印IE
我们知道要实现Web方式的打印不外乎三种方法:第一就是利用大家都熟悉的Office工具来实现Web打印,如利用Word或Excel的打印工具来实现Web打印,该方法的难点是怎样把数据从网页中导入Word或Excel中;第二就是利用IE浏览器自带的打印控件来实现Web打印,该方法的难点是怎样在程序中控制浏览器打印控件中的各项设置;第三就是利用第三方的控件或报表软件来实现Web打印,该方法的难点在于大多数的报表软件都是有偿使用的,因此不得不从经济的角度来考虑了。对于第三种方法,这一类的控件有FileSystemObject组件、ScriptX.cab控件等,这一类的报表软件有如意报表、用友公司的Cell插件、《靓妹》全动态Web报表等。这里对它们的用法就不作说明了,只要参照其提供的说明书就能够驾驭它们。以下笔者将重点讲述前两种方法。

利用Office工具实现打印

http://blog.csdn.net/xwchen/archive/2007/05/31/1633103.aspx

⑨ 高手来谈谈怎样在web上面实现报表打印功能

你是要做程序吗?我不太懂程序,下面是我在网上搜的答案,希望对你有帮助。其实现在有很多软件都能实现web报表打印的功能,像是FineReport之类的,建议楼主试试。
<html>
<head>
<script language="javascript">
function printdiv(printpage)
{
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
</script>
<title>div print</title>
</head>

<body>
//HTML Page
//Other content you wouldn't like to print
<input name="b_print" type="button" class="ipt" onClick="printdiv('div_print');" value=" Print ">

<div id="div_print">

<h1 style="Color:Red">The Div content which you want to print</h1>

</div>
//Other content you wouldn't like to print
//Other content you wouldn't like to print
</body>

</html>
分类: 01 ASP.NET/A