一、需求
在线把 word 文件转换成 pdf 文件。
二、方案
用 pageoffice 组件实现在线打开 word 文件,并转换 pdf 文件。
三、核心代码
document.getElementById("PageOfficeCtrl1").WebSaveAsPDF();
四:具体的实现代码
<%@ page language="java"
import="java.util.*, com.zhuozhengsoft.pageoffice.*"
pageEncoding="utf-8"%>
<%
PageOfficeCtrl pocCtrl=new PageOfficeCtrl(request);
//设置服务器页面
pocCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
//添加自定义按钮
pocCtrl.addCustomToolButton("保存", "Save()", 1);
pocCtrl.addCustomToolButton("另存为PDF文件", "SaveAsPDF()", 1);
//设置保存页面
pocCtrl.setSaveFilePage("SaveFile.jsp");
String fileName = "template.doc";
//打开文件
pocCtrl.webOpen("doc/" + fileName, OpenModeType.docNormalEdit, "张佚名");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Word文件转换成PDF格式</title>
<script type="text/javascript">
//保存
function Save() {
document.getElementById("PageOfficeCtrl1").WebSave();
}
//另存为PDF文件
function SaveAsPDF() {
document.getElementById("PageOfficeCtrl1").WebSaveAsPDF();
}
</script>
</head>
<body>
<form id="form1">
<div id="div1"></div>
<div style="width: auto; height: 700px;">
<%=pocCtrl.getHtmlCode("PageOfficeCtrl1")%>
</div>
</form>
</body>
</html>
保存的代码
FileSaver fs = new FileSaver(request, response);
if(".pdf".equals(fs.getFileExtName())){
fs.saveToFile("D:\\aa.pdf");
}
if(".doc".equals(fs.getFileExtName())){
fs.saveToFile("D:\\aa.doc");
}
fs.close();
最终的效果可以看看http://www.pageoffice.cn:8080/Samples4/
注意:如果需要更丰富的功能,大家可以去pageoffice官网下载示例代码直接将samples4文件夹扔到Tomcat的webapps下,启动Tomcat,浏览器访问。
刚开始接触pageoffice的话,也可以看视频快速上手http://www.zhuozhengsoft.com/Technical/