jcom调用转换word文档编程pdf问题

另一花生 2014-03-04 09:20:37
public class Upload extends ActionSupport {
private static final long serialVersionUID = -4848248679889814408L;
/** 文件对象 */
private List<File> Filedata;
/** 文件名 */
private List<String> FiledataFileName;
/** 文件内容类型 */
private List<String> FiledataContentType;
private String name;
private JComPDFConverter jconPDFConverter;

public static void main(String[] args) {

String inputFile = "E:\\javatest\\javaworkspace10\\upload\\WebRoot\\uploads\\a8dd8cba-879b-44af-b3d4-ce4e1b1b4ab9.doc";
String pdfFile = "E:\\javatest\\javaworkspace10\\upload\\WebRoot\\uploads\\a8dd8cba-879b-44af-b3d4-ce4e1b1b4ab9.pdf";
String swfFile = "E:\\javatest\\javaworkspace10\\upload\\WebRoot\\uploads\\a8dd8cba-879b-44af-b3d4-ce4e1b1b4ab9.swf";

JComPDFConverter.word2PDF(inputFile, pdfFile);
SWFConverter swfConverter = new SWFToolsSWFConverter();
swfConverter.convert2SWF(pdfFile, swfFile);

}

public String doUpload() {
ActionContext ac = ActionContext.getContext();
HttpServletRequest request = ServletActionContext.getRequest();
//System.out.println(" name " + request.getAttribute("name"));
//System.out.println(" name " + request.getParameter("name"));

ServletContext sc = (ServletContext) ac
.get(ServletActionContext.SERVLET_CONTEXT);
String savePath = sc.getRealPath("/");
savePath = savePath + "uploads\\";

// String filePath = "conf\\template\\excel\\demo.xls";
// String realPath = request.getSession().getServletContext()
// .getRealPath(filePath);

File f1 = new File(savePath);
if (!f1.exists()) {
f1.mkdirs();
}
int size = Filedata.size();
if (size == 0)
return ERROR;
String extName = null;
String name = null;
for (int i = 0; i < size; i++) {
extName = FiledataFileName.get(i).substring(
FiledataFileName.get(i).lastIndexOf("."));
name = UUID.randomUUID().toString();
System.out.println(" path " + savePath + name + extName);

// 定义文件
String inputFile = savePath + name + extName;
String pdfFile = savePath + name + ".pdf";
String swfFile = savePath + name + ".swf";
System.out.println(pdfFile);
System.out.println(swfFile);

File file = new File(savePath + name + extName);
try {
FileUtils.copyFile(Filedata.get(i), file);
if (extName.equals(".doc")) {

jconPDFConverter = new JComPDFConverter();
JComPDFConverter.word2PDF("E:\\javatest\\javaworkspace10\\upload\\WebRoot\\uploads\\a8dd8cba-879b-44af-b3d4-ce4e1b1b4ab9.doc", "E:\\javatest\\javaworkspace10\\upload\\WebRoot\\uploads\\a8dd8cba-879b-44af-b3d4-ce4e1b1b4ab9.pdf");
// SWFConverter swfConverter = new SWFToolsSWFConverter();
// swfConverter.convert2SWF(pdfFile,
// swfFile);


}

} catch (IOException e) {
e.printStackTrace();
}
}
HttpServletResponse response = ServletActionContext.getResponse();
try {
response.getWriter().print(name + extName);
} catch (IOException e) {
e.printStackTrace();
}
return SUCCESS;
// NULL
}

我想动态调用,但是总是不能生成相对应的pdf和swf文件,我在main方法里写死了地址就可以生成对应的pdf和swf,请大家帮我看看是怎么回事啊,我没有报出异常,用debug看了一下,也说报jp.net....一个错误,查了一下说是装acrobat,我也装了,jcom.dll也放在c/windows/system32。连tomcat/bin、也放了、jdk/bin也放了,也有人说是我环境的问题,那我应该生成不了啊,我打印路径了没有问题的就是我写死的地址,还请大家帮我看看吧!专业设计急需此功能,就是为了在线显示阅读
...全文
183 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
另一花生 2014-03-04
  • 打赏
  • 举报
回复
public JComPDFConverter jconPDFConverter = new JComPDFConverter();我把这个类写在最上面了,报错了说严重: Servlet.service() for servlet default threw exception java.lang.ClassNotFoundException: jp.ne.so_net.ga2.no_ji.jcom.JComException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at action.Upload.<init>(Upload.java:33) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:119) at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150) at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139) at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:109) at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:288) at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:388) at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:187) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) 不能实例化吧,但是我找百度上说的已经安装acrobat了,jcom.dll也放到位置了啊

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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