网站首页  词典首页

请输入您要查询的论文:

 

标题 办公自动化系统中对Word文档操作的研究
范文

    陈进才

    摘要:隨着我国互联网和信息化的发展,越来越多的企事业单位及政府单位实现了基于互联网的办公自动化,通过办公自动化系统实现日常办公,大大提高了办公效率。自动化办公系统中通常存在着大量对WORD文档的操作,但WORD文档不能在浏览器中预览和编辑,只有下载后才能预览和编辑,编辑后又不能直接保存到服务器上,这给广大用户在使用上造成了很大不便。本文重点讨论在互联网办公自动化系统中如何在线进行WORD文档的预览及编辑。

    关键词: PIO;WORD读写;WORD在线预览;WORD在线编辑;办公自动化

    中图分类号:TP391 文献标识码:A

    文章编号:1009-3044(2019)07-0215-02

    1 引言

    基本互联网的办公自动化系统通常是B/S架构,也就是客户端是浏览器,后端是服务器。该架构相对于C/S架构的优势是客户端直接使用PC系统集成的浏览器访问系统,不需要专门在每台客户机上安装客户端软件。C/S架构的系统需要在每个客户电脑上安装客户端,所以相对B/S架构维护起来比较麻烦;C/S架构的系统由于客户端是本机程序所以能很方便地通过WINDOWS的OLE(Object Linking and Embedding,即对象连接与嵌入技术)对象访问WORD对象,进而对WORD文档进行预览读写等操作。 B/S架构的前端是浏览器,由第三方公司开发,不提供对WORD文档的直接操作,无法查看WORD文档的内容,通常是直接下载,下载后使用本机OFFICE打开,不能提供在线预览功能。

    2 需要解决的问题

    本单位办公自动化系统主要为本单位的日常办公服务,后端服务器端使用JAVA开发,前端使用JS开发,主要模块有合同管理、项目管理、收款管理、支出管理、资料管理等,每个模块中都要上传WORD文档。比如合同管理模块,经办人在申请合同时需要上传WORD版本的合同,然后提交部门经理审批,部门经理在审批该合同时,只需要阅读该合同的内容,如发现有错误,将退回给经办人,让经办人修改,现在部门经理阅读该WORD文档的办法通常是下载该文档,然后用本机的OFFICE软件打开阅读,这样每次阅读都要下载一次,产生了大量的垃圾文件,也给他们在使用中造成很大的不便;所以他们急切需要更简便的操作,也就是需要系统能提供在线预览功能,不需要下载文档直接使用浏览器在线查看WORD文档的内容。

    3 预览WORD文档的解决方法

    由于本单位的WORD文档是作为单独文件存放于服务器上的,所以可以通过转换成其浏览器可显示的文件的方式来预览WORD文档。

    3.1 将WORD文档转换成HTML显示

    将WORD文档转换成HTML显示的方法有很多,这里使用Apache的提供的PIO库进行转换;由于WORD有DOC和DOCX两种,所以需要区别对待,以下为实现的关键代码:

    public static void docToHtml(String inFile, String outFile)

    throws TransformerException, IOException,

    ParserConfigurationException {

    HWPFDocument hwpf = new HWPFDocument(new FileInputStream(inFile));

    if (null==hwpf)

    return;

    WordToHtmlConverter hConverter = new WordToHtmlConverter(

    DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());

    if (null==hConverter)

    return; hConverter.setPicturesManager( new PicturesManager() {

    public String savePicture( byte[] content, PictureType picType, String sugName, float wInc, float hInc ) {

    return "./"+sugName;

    }

    } );

    hConverter.processDocument(hwpf);

    List picList = hwpf.getPicturesTable().getAllPictures();

    if (null==picList)

    return;

    for(int i=0;i

    Picture pic = (Picture)picList.get(i);

    try {

    pic.writeImageContent(new FileOutputStream("./" + pic.suggestFullFileName()));

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    }

    }

    Document htmFile = hConverter.getDocument();

    if (null==htmFile)

    return;

    ByteArrayOutputStream outStream = new ByteArrayOutputStream();

    if (null==outStream)

    return;

    DOMSource dmsrc = new DOMSource(htmFile);

    if (null==dmsrc)

    return;

    StreamResult strmResult = new StreamResult(outStream);

    if (null==strmResult)

    return;

    TransformerFactory tf = TransformerFactory.newInstance();

    Transformer tformer = tf.newTransformer();

    tformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

    tformer.setOutputProperty(OutputKeys.INDENT, "yes");

    tformer.setOutputProperty(OutputKeys.METHOD, "HTML");

    tformer.transform(dmsrc, strmResult);

    outStream.close();

    writeFile(new String(outStream.toByteArray()), ouFile);

    }

    將WORD文档转换为HTML文件后,基本可以实现WORD文档的预览功能了。

    3.2 将WORD转换为PDF进行显示

    将WORD文档转换为HTML文件后,基本可以实现WORD文档的预览功能了,但是却不能保持良好的WORD的排版格式,为了有更好的用户体验,可以进一步将HTML文件转换成PDF文档。

    1) 第一步 将WORD文档转换成HTML

    参见3.1

    2) 将HTML文档转换为PDF文档

    使用Apache的iText库进行转换,以下为实现的关键代码:

    public int htmlToPdf(String inFile, String outFile)

    throws Exception {

    OutputStream outStream = new FileOutputStream(outFile);

    ITextRenderer render = new ITextRenderer();

    if (null==render || null== outStream)

    return 0;

    render.setDocument(new File(intFile));

    ITextFontResolver tfont = render.getFontResolver();

    //加入对中文字体的支持

    tfont.addFont("simsunb.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); render.getSharedContext().setBaseURL("./");

    render.layout(); render.createPDF(outStream);//创建文件

    outStream.flush();//存盘

    outStream.close();//关闭文件

    return 1;

    }

    3) 显示PDF文档

    可以通过jquery将PDF文件显示在网页中,代码如下:

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/10 16:15:53