java call crystal reports Export to pdf

最近项目需要,使用JAVA调用crystalreport生成PDF。

花了很多时间,最后才发现,原来旧版本的jar需要升级,才能调用到那些方法,现发出来跟大家分享一下~~

首先,需要下载CR for eclipse 2.0(这个很重要,不然很多方法找不到,找到了还要你连server)

下载完后。

1, 在eclipse里建一个java项目

2, 把下载的crystal reports的jar导到项目里, 还需要把数据库连接的包也导到项目里(例如:crystal report里用的是JDBC,就导入JDBC的连接包)。

3, 写一个类: 

import iExpOption.IExpOptionFunction;


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.Iterator;
import java.util.Map;

import com.crystaldecisions.sdk.occa.report.application.ReportClientDocument;
import com.crystaldecisions.sdk.occa.report.exportoptions.ReportExportFormat;
import com.crystaldecisions.sdk.occa.report.lib.ReportSDKException;

public class ExpOptionFunction
{
 public ByteArrayInputStream returnPDFStream(String rptPath, Map param,
   String username, String password) throws RemoteException{
  // TODO Auto-generated method stub
  

  try {
   ReportClientDocument repClientDoc=new ReportClientDocument();
   repClientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString);
   repClientDoc.open(rptPath, ReportExportFormat._PDF);
   repClientDoc.getDatabaseController().logon(username, password);
   if(param!=null)
   {
    Iterator it=param.keySet().iterator();
    while(it.hasNext())
    {
     String key=(String)it.next();
     Object value=param.get(key);
     repClientDoc.getDataDefController().getParameterFieldController().setCurrentValue("", key,value);
    }
   }  
   ByteArrayInputStream input = (ByteArrayInputStream) repClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
   repClientDoc.close();
  } catch (ReportSDKException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return bais;
  
 }

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java Call Center 外呼开源是指使用Java语言开发外呼呼叫中心系统,并且该系统的源代码可以在公开的平台上免费获取和使用。开源的好处在于它能够充分利用开源社区的力量,获得更多的开发者和贡献者参与到项目中,从而快速改进和完善系统的功能和性能。 Java是一种流行的、跨平台的编程语言,具有良好的可扩展性和稳定性。使用Java开发呼叫中心系统可以实现一些重要的功能,如呼叫管理、座席管理、呼叫路由等,同时还可以集成一些其他辅助功能,如呼叫录音、呼叫质检等。开源的特性使得开发者可以根据自己的需求对系统进行定制和扩展。 外呼呼叫中心系统的主要功能是自动为一组座席分配外呼任务,并监控呼叫的质量和进展。其中,呼叫管理功能包括呼叫列表的生成和管理,呼叫路由的决策和控制等;座席管理功能包括座席的状态管理、座席技能的匹配和分配等。Java Call Center 外呼开源系统通过对这些功能的支持,帮助企业提高呼叫效率、减轻座席负担,从而提升客户服务质量和业务回款效率。 开源的优势在于有更多的人参与到开发中,可以汲取不同的经验和意见,从而避免一些独立开发可能会遇到的问题。此外,开源系统还可以更快地修复和演进,以适应不断变化的业务需求。同时,开源系统也可以节省企业的开发成本,因为可以免费获取和使用系统的源代码,不需要额外购买商业软件。 综上所述,Java Call Center 外呼开源是一个强大的工具,可以帮助企业建立高效的呼叫中心系统,提升客户服务质量,减轻座席负担,降低企业成本,并且充分利用开源社区的力量,不断改进和完善系统的功能和性能。 ### 回答2: Java Call Center 外呼系统是一种用于实现呼叫中心业务的软件系统。开源指的是该系统的源代码是公开的,并且允许其他人进行自由访问、使用、修改和重新分发。 Java作为一种广泛使用的编程语言,在开发呼叫中心外呼系统方面具有很高的灵活性和可扩展性。通过使用Java,我们可以基于不同的开源框架和库来构建强大的外呼系统。例如,可以使用Spring框架来管理系统的依赖关系和配置,使用Hibernate来实现数据持久化,使用Apache Kafka来实现高效的消息传递,使用Apache Tomcat来搭建Web服务等等。 开源的Java Call Center 外呼系统有以下几个优点。首先,开源使得系统的源代码对开发人员来说是透明的,可以更好地理解系统的工作原理和逻辑。其次,开源社区可以贡献不同的插件和扩展,帮助系统实现更多的功能和特性。第三,开源软件可以满足不同用户的需求,通过自定义、修改和适配,使系统更好地满足特定业务需求。此外,开源软件还可以降低系统的开发成本和时间,加快系统的上线速度。 然而,开源软件也存在一些挑战和风险。首先,由于是开源的,系统的安全性可能会受到一些威胁和漏洞的影响。因此,需要及时更新并保持系统的安全。其次,由于开源软件没有商业支持,用户可能需要依靠社区支持解决问题和Bug修复。 总体而言,Java开源的呼叫中心外呼系统是一个灵活、可扩展且可以根据不同业务需求进行定制的解决方案。开源带来了更多的机会和挑战,但通过合理的使用和管理,可以为企业提供高效、可靠的呼叫中心外呼服务。 ### 回答3: Java call center 外呼 开源是指开发人员可以使用Java编程语言和开源技术来构建和实现一个外呼中心系统。外呼中心通常用于进行批量的电话营销、客户服务、市场调研、触达潜在客户等活动。 通过开源的方式,开发人员可以获得源代码并进行修改和定制,以满足特定业务需求。这种灵活性使得Java call center 外呼开源具有以下几个优势: 1. 自由定制: 开源意味着开发人员可以根据实际需求,自由定制系统功能、界面和流程。可以根据业务需求添加、删除或修改特定功能,以构建一个更加适合业务模型的外呼中心系统。 2. 可拓展性: 利用Java编程语言以及多种开源技术,可以轻松地对系统进行拓展。通过添加新的模块、功能或集成第三方库,可以满足不断变化的业务需求和技术需求。 3. 可靠性和稳定性: 开源软件通常经过广泛的测试和修改,可以保证其质量和稳定性。开发人员可以通过修复和更新来修复潜在问题,并迅速应对新的安全漏洞。 4. 社区支持: Java开源社区庞大而活跃,开发人员可以通过开源社区获取帮助和支持。可以参与讨论、提问问题、共享经验,从而提高开发效率和解决问题。 总之,使用Java call center 外呼开源,开发人员可以根据业务需求定制和拓展一个灵活、可靠的外呼中心系统,并通过活跃的开源社区获得支持和帮助。这将有助于提高外呼中心的运营效率和用户满意度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值