① java 有哪些免費報表工具啊,可以報表列印。
推薦潤乾報表,潤乾報表今年有推出免費版,可以從潤乾報表官網下載試用
潤乾報表設計頁面是類似excel的,而且內置了很多常用函數,更便於繪制報表。而且提供了三種列印方式:applet、pdf、flash供用戶選擇使用,批量列印方面支持applet和pdf兩種列印方式。
② java web 在實現批量列印時出現了列印不全的問題
<!-- media="print"表示改樣式只在列印預覽或列印的時候才生效 -->
<style media="print" type="text/css">
.NOPRINT{display:none;}
.PageNext{page-break-after: always;}
.none{}
</style>
</head>
<body onload="printOnload()">
<!-- 根據urlList,生成<div> <iframe><iframe/></div> 這樣格式的頁面-->
<s:iterator value="uriList" status="status1" id="uri">
<div style="<s:if test='#status1.count != uriList.size()'>page-break-after: always;</s:if>" id="page${status1.count}">
<iframe src="<%=request.getContextPath() %>${uri }"></iframe>
</div>
</s:iterator>
</body>
</html>
首先得構造一個適合列印的頁面,然後直接用瀏覽器的列印功能就可以 :
1、後台request保存了一個List<URLObj>,uri屬性表示請求地址
2、該列印demo頁面,根據List<URLObj>,用struts2標簽在body上構建<div><iframe></iframe></div>,iframe打開的是每一個需要批量列印的頁面
3、頁面載入完成後,調用printOnLoad函數,把iframe裡面的html挪到div上