PageOffice将word另存文件为PDF格式

发布时间 2023-09-01 10:31:47作者: 爱吃苹果皮

转载:另存文件为PDF格式

另存文件为PDF格式

    注意

    本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。

    在前端代码添加一个自定义按钮,调用PageOffice控件的WebSaveAsPDF方法可以把Office文件另存为PDF文件。

    运行此示例后,点击“另存为PDF”按钮后,会在doc/test.docx所在的doc文件夹中生成一个test.pdf的文件。

    在实际项目开发中,此功能可在以下三种情况下使用:

    • 满足一部分没有安装Office软件的客户端电脑或者手机端浏览文档
    • 实现文档的只读发布
    • 实现加盖带有数字签名的电子印章

    后端代码

    1. 在后端编写代码调用webOpen方法打开文件之前给SaveFilePage属性赋值(设置好保存时由哪个地址接口负责接收处理控件上传的文件流);
      PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
      poCtrl.setSaveFilePage("saveFile"); // 设置保存文件的接口地址
      //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
      //查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
      poCtrl.webOpen("doc/test.docx", OpenModeType.docNormalEdit, "张佚名"); // 打开文件
      

      注意

      对PageOfficeCtrl对象的所有属性赋值或函数调用都必须在WebOpen方法调用之前执行,否则会不生效。

      1. 在SaveFilePage属性指向的地址接口中,创建FileSaver对象处理文件的保存工作。
        FileSaver fs = new FileSaver(request, response);
        fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/") + fs.getFileName());
        fs.close();
        

        前端代码

          function saveAsPDF() {
            pageofficectrl.WebSaveAsPDF(); //另存当前文件为PDF格式
          }
          OnPageOfficeCtrlInit() {
            // PageOffice的初始化事件回调函数
            pageofficectrl.AddCustomToolButton("另存为PDF", "saveAsPDF()", 19);
          }