天天看点

Java如何实现文档在线预览

一、概述

二、java实现文档在线预览

2.1 永中dcs简介

2.2 使用方式

2.3 centos安装部署dcs服务

编辑java环境

安装部署tomcat

部署dcs工程

安装nginx

2.4 接口说明

上传文档

url预览文档

服务器本地转换

converttype参数取值说明

2.5 java实现文档在线预览

​ 公司主要负责政府方面的项目,也包括一些oa的项目。oa项目当中,最常见的功能就是需要和各种excel,word文档打交道,比如需要实现文档的下载,打印,以及实时预览功能。现有需求,需要用java实现,word文档的在线预览功能,格式包含.doc,.docx,工具不仅word,还要兼容国产wps软件。

​ 该部分内容顺理成章的就成为我的任务,负责研究,然后形成一个技术方案来提供给开发人员。

​ 在某度,某oogle上疯狂了解的相关内容后,最终定位于永中dcs,以此篇文章来提供技术方案。

官网地址:https://www.yozodcs.com/index.html

点击此处跳转官网:永中dcs

永中文档在线预览软件(document conversion service,简称dcs)是通过解析常用办公文档的格式,提供不同文档格式间的相互转换,实现常用格式文档的阅读等服务。 dcs能直接部署在windows或linux网络操作系统上,与web 服务器、邮件服务器等配合,提供office文档阅读及批量转换功能。永中dcs支持阅读和转换的文档格式非常丰富,涵盖微软office 97~2016、pdf、uof和ofd等常用文档格式,同时可根据用户需求进行特定格式的合作。

我们通过官方的资料可以发现,其能提供的主要功能有:

解析文档

文档之间的格式转换

在线预览

多平台兼容(windows,linux)皆可部署。

良好的扩展性,可兼容其他web服务器,邮件服务器等。

多方文档的支持(微软的office,pdf等多种格式)

​ 永中文档转换组件和dcs服务器两种使用方式:前者是jar包调用(dcc),主要适合java语言调用;后者为http请求方式调用,支持各种开发语言以标准web服务方式提供调用,如搭配负载均衡服务器,可部署到多台服务器上并发使用,实现集群部署。 在输出网页效果方面,新增高清版网页效果支持。可在网页中展示与office中显示一致的原版式、支持无极缩放和复制文本内容的高清版面效果。

​ 具体支持的格式有:

源格式

目标格式(图像包括jpg、png、bmp、tiff等)

说明

xls、xlsx

html/pdf/uof/txt/csv/图像/eio

微软文档格式

ppt、pptx

html/pdf/uof/txt/图像/eio

doc、docx

rtf

rtf文档格式

eio

html/pdf/uof/txt/图像/doc/xls/ppt

永中office格式

uof、uos

html/pdf/txt/图像/doc/xls/ppt

中文办公软件文档标准格式

xml

xml文档格式

pdf

png

adobe阅读pdf文档格式

office文档

ofd

中文版式文档格式

由此,我们可以发现,几乎在日常工作中所使用的文档,几乎全部涵盖在了其中。

了解了此款软件后,我大呼一口气,领导交代的任务,这下差不多已经有了交代,接下来就开始实战了。

​ 因为公司项目主要发布在centos服务器上,所以需要在centos部署dcs服务。

首先,服务器需要jdk环境,至少jdk8版本以上。

在oracle官网下载jdk8到本地,下载完成后,通过ftp方式或者rz 上传文件的方式,将jdk-8u60-linux-x64.tar.gz 文件上传至服务器。

然后通过<code>tar -zxvf jdk-8u60-linux-x64.tar.gz</code>解压文件。并通过mv命令重命名文件为jdk8。

此处我解压在了/opt路径下。接下来,需要配置java环境。

<code>vi /etc/profile</code>

新增如下内容:

配置文件生效

检测是否安装成功:

若出现如下界面,则证明jdk配置成功!

Java如何实现文档在线预览

在tomcat官网下载apache-tomcat-8.0.26.tar.gz文件。

下载完成后,通过ftp方式或者rz 上传文件的方式,将文件上传至服务器。

解压文件:

将永中dcs工程目录复制到tomcat 的webapp目录下。

修改${tomcat.home}\conf\server.xml文件.在host节点下增加如下参考代码:

&lt;context docbase=“指向项目的根目录所在的路径” path=“虚拟目录名” reloadable=“true”/ &gt;

根据需要修改项目中 ${dcs.web}\web-inf\config.properties和log4j.properties的配置。需要在目录/usr/x11r6/lib/x11/fonts/truetype下加入字体文件。

启动tomcat后,访问http://localhost:8080/dcs.web 即可看到“在线文档预览示例”页面。

进入 nginx 文件夹 cd nginx-1.9.2

执行 ./configure 可能会遇到系统缺少库

问题:

./configure: err: c compiler cc is not found

缺少gc++库文件

等待 complete

./configure: error: the http rewrite module requires the pcre library

等待complete

./configure:error: the http gzip module requires the zlib library

解决所有问题后 再次 解决所有问题后:

安装完成后对/usr/local/nginx/conf/nginx.conf 配置文件进行所需配置。

请求地址:

post http://服务器地址/upload

例如:http://localhost:8080/dcs.web/upload

上传您要在线预览的文档。

参数:

file - 文件作为multi-part post请求参数,用于上传本地文档 (必须)

converttype - 转换类型参数(必须)

post http://服务器地址/onlinefile

downloadurl - 文档url,用于预览网络文档。此url应为编码(utf-8 url-encoded)后的url。

converttype - 转换类型参数

post http://服务器地址/convert

inputdir - 文档在服务器上的路径(相对于配置文件中input的相对路径)

mergeinput - 使用文档合并功能时,需要合并的文档路径同inputdir

需要添加相关依赖,附上pom.xml依赖内容:

在idea中,新建test方法进行测试:

执行该test的main方法之后,在控制台会输出转换后的地址:

点击该地址后,即可在线预览word文件。

继续阅读