jfreechart 打印

tzb08 2008-12-10 09:09:34
用jfreechart生成报表到web页面,然后我想在web页面通过按钮将报表打印到纸张上面,不知道怎么实现,望有此经验的朋友们指点!
...全文
327 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tzb08 2008-12-15
  • 打赏
  • 举报
回复
继续顶起
忙碌的布谷鸟 2008-12-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tzb08 的回复:]
老兄,你这是打印在页面上吧?我说的“打印”是打印在纸张上哦,如A4纸
[/Quote]

怎么会打印的页面上?
难道你的不是打印在A4纸上吗?

我的打印机可是能够打印。呵呵~
tzb08 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 guoquanyou 的回复:]

最近也在研究这个问题,可以打印,但是会弹出下载jsp页面,不是很喜欢。希望大家一块解决。
另外其它方面的jfreechart我的blog上有相关内容,如和struts2结合等。

Java code<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"contentType="text/html"%><%@ pageimport="net.sf.jasperreports.engine.*"%><%@ pageimport="java.io.*"%><%@ pageimport="java.sql.*"%><%JasperPrint jasperPrint=null;


[/Quote]

老兄,你这是打印在页面上吧?我说的“打印”是打印在纸张上哦,如A4纸
tzb08 2008-12-11
  • 打赏
  • 举报
回复
咋没人关注了?
tzb08 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ganglong99 的回复:]
要产生一个打印,至少需要考虑两条:

需要一个打印服务对象。这可通过三种方式实现:在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;在jdk1.4中则还可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。
需要开始一个打印工作。这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob(jdk1.1提供的,现在已经很…
[/Quote]

难道还是要用jdk?jfreechart可能解决或者有其他解决方法? 指点指点啊
忙碌的布谷鸟 2008-12-10
  • 打赏
  • 举报
回复

最近也在研究这个问题,可以打印,但是会弹出下载jsp页面,不是很喜欢。希望大家一块解决。
另外其它方面的jfreechart我的blog上有相关内容,如和struts2结合等。




<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%
JasperPrint jasperPrint = null;

Connection sqlCon;
String strCon;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
strCon = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myDatabase";
sqlCon = DriverManager.getConnection(strCon, "sa", "");
File reportFile = new File(application.getRealPath("/jasper/classic.jasper"));
Map parameters = new HashMap();
parameters.put("ReportTitle", "p");

//使用SQL查询
try {
jasperPrint = JasperFillManager.fillReport(reportFile.getPath(), parameters, sqlCon);//填充报表数据生成JasperPrint对象
JasperPrintManager.printReport(jasperPrint, false);//2008-08-25 直接打印,不用预览PDF直接打印 true为弹出打印机选择.false为直接打印.
//输出
response.setContentType("application/octet-stream");
ServletOutputStream ouputStream = response.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(ouputStream);
oos.writeObject(jasperPrint);//将JasperPrint对象写入对象输出流中
oos.flush();
oos.close();
ouputStream.flush();
ouputStream.close();

//response.reset();
out.clear();
out = pageContext.pushBody();

} catch (JRException jre) {
jre.printStackTrace();

} catch (Exception ee) {
ee.printStackTrace();
}
response.setContentType("text/html");
response.sendRedirect("index.jsp");
%>

ganglong99 2008-12-10
  • 打赏
  • 举报
回复
要产生一个打印,至少需要考虑两条:

需要一个打印服务对象。这可通过三种方式实现:在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;在jdk1.4中则还可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。
需要开始一个打印工作。这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob(jdk1.1提供的,现在已经很少用了)调用print或printAll方法开始打印工作;也可以通过java.awt.print.PrinterJob的printDialog显示打印对话框,然后通过print方法开始打印;在jdk1.4中则可以通过javax.print.ServiceUI的printDialog显示打印对话框,然后调用print方法开始一个打印工作。
tzb08 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 steryzone 的回复:]
你到网上搜索可以找到在web页面显示JFreeChart图表的代码,然后打印不就行了吗?
[/Quote]

显示我知道怎么弄,关键“打印”怎么实现??? 我是希望在web页面加个按钮实现此打印功能
steryzone 2008-12-10
  • 打赏
  • 举报
回复
你到网上搜索可以找到在web页面显示JFreeChart图表的代码,然后打印不就行了吗?
myjava_024 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ganglong99 的回复:]
要产生一个打印,至少需要考虑两条:

需要一个打印服务对象。这可通过三种方式实现:在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;在jdk1.4中则还可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。
需要开始一个打印工作。这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob(jdk1.1提供的,现在已经…
[/Quote]
不用jdk图形都生成不了的啊
steryzone 2008-12-10
  • 打赏
  • 举报
回复

<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT> 
<input name="Submit" type="submit" class="font12g18h" value="打 印" onclick="Javascript:printit()"/>
<script language="javascript">
function printsetup(){
// 打印页面设置
wb.execwb(8,1);
}
function printpreview(){
// 打印页面预览
wb.execwb(7,1);
}
function printit(){
if (confirm("确定打印吗?")) {
wb.execwb(6,6)
}
}
</script>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧