首页 > 其他分享 >转载:用pageOffice控件实现 office word文档在线编辑另存为pdf的功能

转载:用pageOffice控件实现 office word文档在线编辑另存为pdf的功能

时间:2023-06-01 13:55:33浏览次数:53  
标签:控件 poCtrl word office 另存为 pageOffice 文档 pdf

用pageOffice控件实现 office word文档在线编辑另存为pdf的功能

1 应用场景

OA办公中,经常要将word文档转存为pdf方法,方式文档的查看。

怎么实现word文档的转存为pdf呢?

2 实现方法

通过pageOffice实现简单的在线打开编辑word后,只要增加一行
document.getElementById("PageOfficeCtrl1").WebSaveAsPDF();
就可以实现另存为pdf的功能

3 实现过程

以java的springboot框架为例

1 集成pageOffice

https://www.zhuozhengsoft.com/dowm/

image
从pageOffice官网
下载页面,找到springboot的集成示例,按照里面的集成明说,可以集成到自己的springboot项目中。

2 在线打开编辑word

image

可以按照这个示例首先实现最基本的打开word的方法。

3 通过代码实现word转pdf

代码参考以下功能示例代码
image

control代码

点击查看代码
 @RequestMapping(value = "Word", method = RequestMethod.GET)
    public ModelAndView showWord(HttpServletRequest request, Map<String, Object> map) {
        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
        poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//设置服务页面
        //添加自定义按钮
        poCtrl.addCustomToolButton("保存", "Save()", 1);
        poCtrl.addCustomToolButton("另存为PDF文件", "SaveAsPDF()", 1);
        //设置保存页面
        poCtrl.setSaveFilePage("save");//设置处理文件保存的请求方法
        //打开Word文档
        poCtrl.webOpen("/doc/SaveAsPDF/template.doc", OpenModeType.docNormalEdit, "张三");
        map.put("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));
        ModelAndView mv = new ModelAndView("SaveAsPDF/Word");
        return mv;
		}

@RequestMapping("save")
public void save(HttpServletRequest request, HttpServletResponse response) {
FileSaver fs = new FileSaver(request, response);
fs.saveToFile(dir + "SaveAsPDF/" + fs.getFileName());
fs.close();
}

html代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

<head>
<title>Word文件转换成PDF格式</title>
<script type="text/javascript">
//保存
function Save() {
document.getElementById("PageOfficeCtrl1").WebSave();
}

    <span class="hljs-comment">//另存为PDF文件</span>
    <span class="hljs-keyword">function</span> <span class="hljs-title function_">SaveAsPDF</span>(<span class="hljs-params"></span>) {
        <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">getElementById</span>(<span class="hljs-string">"PageOfficeCtrl1"</span>).<span class="hljs-title class_">WebSaveAsPDF</span>();
        <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">getElementById</span>(<span class="hljs-string">"PageOfficeCtrl1"</span>).<span class="hljs-title class_">Alert</span>(<span class="hljs-string">"PDF文件已经保存到 SaveAsPDF/doc目录下。"</span>);
        <span class="hljs-variable language_">document</span>.<span class="hljs-title function_">getElementById</span>(<span class="hljs-string">"div1"</span>).<span class="hljs-property">innerHTML</span> = <span class="hljs-string">"&lt;a href='pdf?fileName=template.pdf'&gt; 查看另存的 pdf 文件&lt;a&gt;&lt;br&gt;&lt;br&gt;"</span>;
    }
</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>

</head>
<body>
<form id="form1">
<div id="div1"></div>
<div style="width: auto; height: 700px;" th:utext="${pageoffice}">
</div>
</form>
</body>

</html>

通过以上代码,可以实现word另存为pdf的功能。
生成的pdf可以在后端查看到。

4总结

用pageOffice控件实现 office word文档在线编辑另存为pdf的功能

转载:用pageOffice控件实现 office word文档在线编辑另存为pdf的功能

标签:控件,poCtrl,word,office,另存为,pageOffice,文档,pdf
From: https://www.cnblogs.com/lhl77/p/17448699.html

相关文章

  • layui 日期控件问题
    日期控件正常可弹出,点击返回,设置页面隐藏后,再显示,日期控件不弹出。//返回列表$('#backList').on('click',function(){$('#xxx').hide();$('#yyyy').show();$(window).trigger('resize');});日期控件渲染的时候需要清除lay-key......
  • vue+docxtemplater,填充word模板
    安装依赖yarnadddocxtemplateryarnaddpizzipyarnaddjszip-utilsyarnaddfile-saver//模板解析插件(支持list循环直接使用$index,使用if判断语法)yarnaddangular-expressionsyarnaddlodash页面测试代码<template> <div> <button@click="bt......
  • 如何绑定Property以实现控件属性同步
    如何绑定Property以实现控件属性同步控件的属性往往是各种Property,比如StringProperty,IntegerProperty。它们有着特殊的性质:可以在其上添加一个监听函数,在属性发生变化时自动调用可以绑定另一个Property,从而同步变更效果展示示例代码importjavafx.application.A......
  • 界面控件DevExpress ASP.NET新主题——Office 365暗黑主题的应用
    DevExpressASP.NET WebFormsControls拥有针对Web表单(包括报表)的110+种UI控件,DevExpressASP.NETMVCExtensions是服务器端MVC扩展或客户端控件,由轻量级JavaScript小部件提供支持的70+个高性能DevExpressASP.NETCoreControls,包含功能完善的报表平台。在之前发布的v22.1版......
  • 为什么 Microsoft Office 365 那么贵,还有那么多人用Microsoft 365?
    随着数字化办公的普及,越来越多的人开始使用各种办公软件来提高工作效率和便捷性。而Microsoft365作为全球领先的办公软件套件,拥有着丰富的功能和服务,深受全球用户的欢迎。下面将详细介绍Microsoft365的功能、版本、软件和适用人群等信息。Office365直装版:https://souurl.cn/FDa......
  • 常见控件交互方法
    点击方法element.click()输入操作element.send_keys('appium')设置元素的值element.set_value('appium')清除操作element.clear()是否可见element.is_displayed()返回True/False是否可用element.is_enabled()返回True/False是否被选中element.is_selected()返回True/Fal......
  • 玩转服务器之网站篇:新手使用WordPress搭建博客和静态网站部署
    静态网站部署和WordPress搭建博客都是网站运营中常见的工作。静态网站是一种不需要服务器端脚本的网站形式,通常使用HTML、CSS和JavaScript等静态资源进行构建和显示。而WordPress是一款流行的博客系统,可以帮助用户快速搭建博客网站。在之前的玩转服务器系列文章里,我们介绍了如何构......
  • PageOffice 在线打开 word 文件实现痕迹保留、键盘批注、手写批注
    一、痕迹保留Word中的痕迹一般指的是审阅文档的用户对文档所做的修改(插入和删除)操作。在PageOffice的强制留痕模式下,用户对文档所做的任何修改都会以痕迹的形式保留下来,不同用户对文档做的修订会自动用不同的颜色标记;用户不能接受、拒绝其他用户对此文档所做的任何修订;修订记......
  • 多项式回归模型(Office Prices)
     分析:还是上次的房价预测题目,指明要用多项式回归拟合。在多元多项式拟合时候,目标函数表示如下         对其目标函数求偏导得到         很容易写出代码。代码:#coding:utf-8importmathclassData: def__init__(self): self.x=[] self.y=0.0d......
  • 神经网络中embedding层作用——本质就是word2vec,数据降维,同时可以很方便计算同义词(各
    Embeddingtflearn.layers.embedding_ops.embedding(incoming,input_dim,output_dim,validate_indices=False,weights_init='truncated_normal',trainable=True,restore=True,reuse=False,scope=None,name='Embedding')Embeddinglayerforase......