Aspose的使用

半世苍凉 提交于 2020-01-19 00:49:38

一、Aspose是什么?
Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式。使用Aspose.Words可以在不使用Microsoft.Word的情况下生成、修改、转换和打印文档。在项目中使用
Aspose.Words可以运行在Windows,Linux和Mac OS操作系统上面
虽然aspose的jar包是收费的,但是网上能搜到很多破解版的,去掉了页眉和水印 之类的限制
在项目中的使用就是将html标签转换为了docx文档,然后在写到输出流从浏览器中下载
部分代码:

	 String fileName =new String(getFileName(docId).getBytes("GB2312"), "ISO_8859_1") +".docx";
        Document document = null;
        String filePath = this.getClass().getResource("/").getPath()+"/"+getFileName(docId)+".docx";
        XWPFDocument docx = null;
        try {
            if (!getLicense()) {
                return;
            }
            document = new Document();
            DocumentBuilder build = new DocumentBuilder(document);
            build.insertHtml(html);
            document.save(filePath);
            docx = new XWPFDocument(new FileInputStream(filePath));
        } catch (Exception e) {
            e.printStackTrace();
        }
        outputStream = response.getOutputStream();
        response.reset();
        response.setHeader("Content-disposition", "attachment; filename="+fileName);
        response.setContentType("application/msword");
        response.setCharacterEncoding("GB2312");
        docx.write(outputStream);
        -----------------------------------------------------------------------------
        public static boolean getLicense() {
    boolean result = false;
    try {
        InputStream is = HtmlImageToBase64.class.getClassLoader().getResourceAsStream("license.xml");
        License aposeLic = new License();
        aposeLic.setLicense(is);
        result = true;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return result;
}

其中license.xml是放在src目录下的

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!