欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java语言实现word转PDF(10分钟解决)

程序员文章站 2022-03-03 16:06:48
...

前言:

 

经常做OA办公项目的同学一定和我一样被各种线上的office操作整疯了。基本上涉及到Java操作office的时候就会想到POI和openoffice.这两种方案都是需要找各种jar包,然后用里面繁杂的api。关键是做出来的文件格式有各种各样的问题,有时生成的文件打不开,有时文档格式混乱。搞了好几天的需求终于实现了,最后看到效果那一刻。。。唉呀妈呀 脑瓜疼 脑瓜疼

 

此时就需要另辟新径了,得找个更专业的解决线上office操作的插件——pageoffice。虽然pageoffice官网提供了大量功能,但是通过这篇博客可以让同学们省去学习时间,让你10分钟实现word转PDF的功能。并且最重要的是本篇博客后面会提供破解注册码

 

先看效果

 

Java语言实现word转PDF(10分钟解决)
            
    
    博客分类: java操作word javajavascriptoffice 

 

点击另存为PDF按钮就会开始转PDF(如果不想点击按钮也可以放在其他事件中自动转PDF)

 

Java语言实现word转PDF(10分钟解决)
            
    
    博客分类: java操作word javajavascriptoffice 

 

然后查看转换的PDF文件,格式是非常标准的,和本地word转出来的一模一样

 

Java语言实现word转PDF(10分钟解决)
            
    
    博客分类: java操作word javajavascriptoffice 

 

Java语言实现word转PDF(10分钟解决)
            
    
    博客分类: java操作word javajavascriptoffice 

 

部署步骤(只需5步

 

1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xml

 

Java语言实现word转PDF(10分钟解决)
            
    
    博客分类: java操作word javajavascriptoffice 

 

去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的wb.xml中

 

2.在父页面aaa.jsp(需要打开文档的页面)放一个a标签或者button

 

写button之前先引入pageoffice需要的js文件

 

  1.  
    <script type="text/javascript" src="/jquery.min.js"></script>
  2.  
    <script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>

 

然后添加a标签

 

<a href="javascript:POBrowser.openWindowModeless('word.jsp', 'width=1050px;height=900px;','id=er');">打开word文档</a>
 

 

3.在父页面同级目录下创建一个word.jsp文件

 

  1.  
    <%@ page language="java"
  2.  
    import="java.util.*, com.zhuozhengsoft.pageoffice.*"
  3.  
    pageEncoding="utf-8"%>
  4.  
    <%
  5.  
    PageOfficeCtrl pocCtrl=new PageOfficeCtrl(request);
  6.  
    //设置服务器页面
  7.  
    pocCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
  8.  
    //添加自定义按钮
  9.  
    pocCtrl.addCustomToolButton("保存", "Save()", 1);
  10.  
    pocCtrl.addCustomToolButton("另存为PDF文件", "SaveAsPDF()", 1);
  11.  
    //设置保存页面
  12.  
    pocCtrl.setSaveFilePage("SaveFile.jsp");
  13.  
    String fileName = "template.docx";
  14.  
    String pdfName = fileName.substring(0, fileName.length() - 4) + ".pdf";
  15.  
    //打开文件
  16.  
    pocCtrl.webOpen(fileName, OpenModeType.docNormalEdit, "张佚名");
  17.  
    %>
  18.  
     
  19.  
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  20.  
    <html>
  21.  
    <head>
  22.  
    <title>Word文件转换成PDF格式</title>
  23.  
    <script type="text/javascript">
  24.  
    //保存
  25.  
    function Save() {
  26.  
    document.getElementById("PageOfficeCtrl1").WebSave();
  27.  
    }
  28.  
     
  29.  
    //另存为PDF文件
  30.  
    function SaveAsPDF() {
  31.  
    document.getElementById("PageOfficeCtrl1").WebSaveAsPDF();
  32.  
    document.getElementById("PageOfficeCtrl1").Alert("PDF文件已经保存到template.doc同级目录下。");
  33.  
    <%--document.getElementById("div1").innerHTML = "<a href='OpenPDF.jsp?fileName=<%=pdfName %>'> 查看另存的 pdf 文件<a><br><br>";--%>
  34.  
    document.getElementById("div1").innerHTML = "<a href='template.pdf'> 查看另存的 pdf 文件<a><br><br>";
  35.  
    }
  36.  
    </script>
  37.  
     
  38.  
    </head>
  39.  
    <body>
  40.  
    <form id="form1">
  41.  
    <div id="div1"></div>
  42.  
    <div style="width: auto; height: 700px;">
  43.  
    <%=pocCtrl.getHtmlCode("PageOfficeCtrl1")%>
  44.  
    </div>
  45.  
    </form>
  46.  
    </body>
  47.  
    </html>
  48.  
     

 

4.在父页面同级目录下创建一个SaveFile.jsp文件 

 

  1.  
    <%@ page language="java"
  2.  
    import="java.util.*,com.zhuozhengsoft.pageoffice.*"
  3.  
    pageEncoding="utf-8"%>
  4.  
    <%
  5.  
    FileSaver fs = new FileSaver(request, response);
  6.  
    //保存文件到本地磁盘
  7.  
    fs.saveToFile(request.getSession().getServletContext().getRealPath(fs.getFileName()));
  8.  
    fs.close();
  9.  
     
  10.  
    %>
  11.  
     
  12.  
     

 

5.新建一个名为template.docx的word文件(如果新建的是doc文件就将第三步的String fileName = "template.docx"代码改为String fileName = "template.doc";)放在父页面同级目录下.然后启动项目直接访问aaa.jsp点击链接.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码CA1XB-MF7Y-12ST-PSBP2就可以打开文档.

 

  注意:这些只是演示级代码,大家可以去pageoffice官网下载示例代码直接将samples4文件夹扔到Tomcat的webapps下,启动Tomcat,浏览器访问http://localhost:8080/Samples/index.html,查看示例中的下面一个链接,直接看samples4文件夹下SaveAsPDF文件夹里面的代码.

 

Java语言实现word转PDF(10分钟解决)
            
    
    博客分类: java操作word javajavascriptoffice 

--------------------- 本文来自 it_zhang81 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/IT_zhang81/article/details/82773423?utm_source=copy