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

参考:

相关推荐
小魏小魏我们去那里呀13 小时前
Java2Flowchart:一款把 Java 方法一键转换成 Mermaid 流程图的 IntelliJ 插件
java·ide·intellij-idea
小江的记录本13 小时前
【RAG】RAG检索增强生成(核心架构、全流程、RAG优化方案、常见问题与解决方案)
java·前端·人工智能·后端·python·机器学习·架构
迷藏49413 小时前
**TiDB 在高并发场景下的性能优化实战:从慢查询到极致吞吐的跃迁**在现代分布式系统中,数据库不仅是数据存储的
java·数据库·python·性能优化·tidb
毅炼14 小时前
MySQL 常见问题总结(1)
java·大数据·数据库
CRMEB系统商城14 小时前
国内开源电商系统的格局与演变——一个务实的技术视角
java·大数据·开发语言·小程序·开源·php
yaaakaaang14 小时前
十八、中介者模式
java·中介者模式
一 乐14 小时前
饮食营养信息|基于springboot + vue饮食营养管理信息平台系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·饮食营养管理信息系统
zopple14 小时前
Laravel与ThinkPHP框架深度对比
java·python·php·laravel
疯狂打码的少年14 小时前
【Day13 Java转Python】装饰器、生成器与lambda——Python的函数式“三件套”
java·开发语言·python
大气层煮月亮14 小时前
ERP-Agent 记忆系统优化方案
java·大数据·elasticsearch