aspose-words中插入附件及遇到的问题

aspose-words版本:21.1

java:1.8

目标:

前端使用tinymce编辑一段内容,后端使用aspose-words将html转为word,并将html中的附件转换为word中的附件。

形如:

实现方案:

使用正则表达式找出需要替换的附件位置,然后再使用aspose-words替换为附件。

关键代码:

java 复制代码
    public void insertOleObjectAsIcon() throws Exception
    {
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
		// windows开发环境使用绝对路径,生产环境可以使用文件流进行传输
        builder.insertOleObjectAsIcon("D:/source.docx", "Word.Document.12",false,"D:/word.ico" ,"attachmentFile.docx");
        doc.save("D:/output.docx");
    }

遇到的问题:

  1. 使用insertOleObject方法会导致只显示图片icon,不显示文件名称。prepsentation参数不能为null,会报空指针.
  2. java.io.EOFException : End of file reached,源码被加扰,无法明确具体原因,替换为ico后缀的图片文件后,错误消失。
  3. java.lang.UnsupportedOperationException : Not implemented format is met. 源码被加扰,无法明确具体原因,猜测文件过大(6K)。具体阈值未知。
  4. java.lang.ArrayIndexOutBoundsException: 456 文件过小(1K)。具体阈值未知。

使用2.3K大小的ico,操作成功并正常显示。

参考:

相关推荐
天码-行空3 分钟前
深入拆解Tomcat架构:多层容器设计原理
java·架构·tomcat
人道领域14 分钟前
【Redis实战篇】秒杀系统:一人一单高并发实战(synchronized锁实战与事务失效问题)
java·开发语言·数据库·redis·spring
0xDevNull18 分钟前
Spring中统一异常处理详细教程
java·开发语言·后端
one_love_zfl18 分钟前
java面试-spring篇
java·spring·面试
shjita20 分钟前
maven涉及的配置
java·前端·maven
Gauss松鼠会20 分钟前
GaussDB(DWS)数据融合:云端GaussDB(DWS)迁移
java·服务器·网络·数据库·性能优化·gaussdb
金融小白数据分析之路23 分钟前
java 打包exe maven 版本
java·开发语言·maven
兩尛24 分钟前
C++面向对象和类相关
java·c++·面试
ch.ju29 分钟前
Java程序设计(第3版)第二章——循环结构(3)
java
再玩一会儿看代码31 分钟前
idea中快捷键详细总结整理
java·ide·经验分享·笔记·学习·intellij-idea