经常做OA办公项目的同学一定和我一样被各种线上的office操作整疯了。基本上涉及到Java操作office的时候就会想到POI和openoffice.这两种方案都是需要找各种jar包,然后用里面繁杂的api。关键是做出来的文件格式有各种各样的问题,有时生成的文件打不开,有时文档格式混乱。搞了好几天的需求终于实现了,最后看到效果那一刻。。。唉呀妈呀 脑瓜疼 脑瓜疼
此时就需要另辟新径了,得找个更专业的解决线上office操作的插件——pageoffice。虽然pageoffice官网提供了大量功能,但是通过这篇博客可以让同学们省去学习时间,让你10分钟实现word转PDF的功能。并且最重要的是本篇博客后面会提供破解注册码
去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的wb.xml中
写a标签之前先引入pageoffice需要的js文件
然后添加a标签
打开word文档
<%@ 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.docx";
String pdfName = fileName.substring(0, fileName.length() - 4) + ".pdf";
//打开文件
pocCtrl.webOpen(fileName, OpenModeType.docNormalEdit, "张佚名");
%>
Word文件转换成PDF格式
<%@ page language="java"
import="java.util.*,com.zhuozhengsoft.pageoffice.*"
pageEncoding="utf-8"%>
<%
FileSaver fs = new FileSaver(request, response);
//保存文件到本地磁盘
fs.saveToFile(request.getSession().getServletContext().getRealPath(fs.getFileName()));
fs.close();
%>
如有侵权,请联系小编