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,操作成功并正常显示。

参考:

相关推荐
q***57745 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
q***56385 小时前
Spring Boot 集成 Kettle
java·spring boot·后端
stevenzqzq5 小时前
android recyclerview缓存_缓存问题解决办法
android·java·缓存
武子康5 小时前
Java-174 FastFDS 从单机到分布式文件存储:实战与架构取舍
java·大数据·分布式·性能优化·系统架构·dfs·fastdfs
失散135 小时前
分布式专题——56 微服务日志采集与分析系统实战
java·分布式·微服务·架构
失散135 小时前
分布式专题——57 如何保证MySQL数据库到ES的数据一致性
java·数据库·分布式·mysql·elasticsearch·架构
开开心心就好5 小时前
无需函数:Excel数据筛选工具推荐
xml·网络·pdf·华为云·word·excel·音视频
会编程的吕洞宾5 小时前
Java Set集合:你的数据去重神器
java·后端·程序员
q***65695 小时前
Spring Data 什么是Spring Data 理解
java·后端·spring
WYS@不忘初心6 小时前
在Eclipse IDE for Embedded C/C++ Developers软件中定义的宏,编译C源文件时编译器无法找到宏定义!
java·ide·eclipse