如何将word,excel,powerpoint等转换成html或pdf
最项目要实现在线预览word,excel等功能,类似163邮箱的附件预览功能,找了很长时间也就是 POI 解析,但是都是解析为txt 纯文本的信息,虽然也可以解析图片出来,但样式已经破坏了。单单再window上部署的话可以有jcom,jacob这个几种方法来实现,但都依赖于 dll文件,在linux部署不了。想用Flexpaper来实践,但有几点疑问:
如果使用 Flexpaper 是不是要先将 word, excel等转换成 PDF,然后在使用 swftools 将PDF转换成 swf
疑问:
1. 将 word, excel, ppt 等转换成 PDF 应该使用什么开源的java类库?
2. java 如何调用 swftools 在 Linux 上将PDF转换成 swf文件?
如何将word,excel,powerpoint等转换成html或pdf
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答 默认 最新
- lxbccsu 2011-03-19 22:12关注
[b]生成响应的Servlet:
DownloadServlet.java[/b]
[code="java"]
import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;@SuppressWarnings("serial")
public class DownloadServlet extends HttpServlet {// static BaseCVFactory wordFactory = null;
static BaseCVFactory wordMLFactory = null;public DownloadServlet() { super(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/msword"); response.setHeader("Content-disposition","attachment;filename=ExampleCV.doc"); OutputFormat xmlFormat = new OutputFormat(); xmlFormat.setEncoding("UTF-8"); XMLWriter xmlWriter = new XMLWriter(response.getOutputStream(),xmlFormat); xmlWriter.write(wordMLFactory.generate()); xmlWriter.flush(); xmlWriter.close(); } public void init() throws ServletException {
// wordFactory = new WordCVFactory(DownloadServlet.getPerson());
wordMLFactory = new WordMLCVFactory();
}public void destroy() { super.destroy(); }
}
[/code][b]web.xml[/b]
[code="java"]
DownServlet
DownServlet
test.DownloadServlet
DownServlet
/download
[/code][b]JSP页面:
test.jsp[/b]
[code="java"]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Insert title here本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报