使用aspose.word.for.java解析word文档图片并替换
来源:互联网 发布:淘宝免费视频教材 编辑:程序博客网 时间:2024/05/21 14:01
/***需要import的包有如下*import com.aspose.words.Document;*import com.aspose.words.DocumentBuilder;*import com.aspose.words.ImageData;*import com.aspose.words.Node;*import com.aspose.words.NodeCollection;*import com.aspose.words.NodeType;*import com.aspose.words.Shape;*import com.aspose.words.ShapeType;**aspose.words.for.java 版本 3.1.0** 将word文档中wmf图片导出并替换为标签** @param fileName* 文档完整名* @return 修改后的文件名*/public String exportWmfFromDoc(String fileName) { try { Document doc = new Document(filePath + fileName);// 新建文档对象 NodeCollection shapeCollection = doc.getChildNodes(NodeType.SHAPE, true);// 查询文档中所有wmf图片 Node[] shapes = shapeCollection.toArray();// 序列化 String imgPath = ""; if (shapes.length > 0) {// 如果文档存在图片 File file = new File(imagePath + fileName.substring(0, fileName.lastIndexOf("."))); if (file != null) { if (file.exists() || file.mkdir()) {// 创建文档图片保存文件夹 imgPath = file.getAbsolutePath() + "\\"; } else { throw new Exception("文档图片保存路径不可写,请检查路径:\"" + imagePath + "\""); } } for (Node node : shapes) { Shape shape = (Shape) node; if (shape.getShapeType() == ShapeType.OLE_OBJECT) {// 如果shape类型是ole类型 ImageData i = shape.getImageData();// 获得图片数据 String imageName = imageName() + ".wmf"; i.save(imgPath + imageName);// 导出图片 File f = new File(imgPath + imageName); if (f.exists()) { imageName = wmfToPNG(f.getAbsolutePath()); log.debug("f.path--->" + f.getAbsolutePath()); Exec.saveMinPhoto(imageName, imageName, (double)38, (double)0); if (f.canWrite()) { f.delete(); } } else { log.error("图片不存在!"); continue; } // log.info("f.name--->" + f.getName()); DocumentBuilder builder = new DocumentBuilder(doc);// 新建文档节点 builder.moveTo(shape);// 移动到图片位置 builder.write("[img]" + fileName.substring(0, fileName .lastIndexOf(".")) + "/" + f.getName().substring(0, f.getName().lastIndexOf(".")) + ".png" + "[/img]");// 插入替换文本 shape.remove();// 移除图形 } else if (shape.getShapeType() == ShapeType.IMAGE) {// 如果shape类型是ole类型 ImageData i = shape.getImageData();// 获得图片数据 String imageName = imageName() + ".png"; i.save(imgPath + imageName);// 导出图片 File f = new File(imgPath + imageName); if (f.exists()) { DocumentBuilder builder = new DocumentBuilder(doc);// 新建文档节点 builder.moveTo(shape);// 移动到图片位置 builder.write("[img]" + fileName.substring(0, fileName .lastIndexOf(".")) + "/" + f.getName().substring(0, f.getName().lastIndexOf(".")) + ".png" + "[/img]");// 插入替换文本 shape.remove();// 移除图形 } else { log.error("图片不存在!"); continue; } } } String extName = fileName.substring(fileName.lastIndexOf(".")); String mainName = fileName.substring(0, fileName .lastIndexOf(".")); doc.save(filePath + mainName + "_done" + extName);// 保存修改后的文档 // log.info("filename---->" + mainName + "_done" + extName); return mainName + "_done" + extName; } } catch (Exception e) { e.printStackTrace(); } return null; }原帖:http://www.oschina.net/code/snippet_97818_8443
0 0
- 使用aspose.word.for.java解析word文档图片并替换
- 利用Aspose.Word for .NET实现Word文档的操作
- java poi组件 读取word文档 替换文档 内容 图片
- Aspose.Words for .NET动态生成word文档中的图片或水印
- java解析word文档
- 推荐.NET使用Aspose.Words动态生成word文档数据表格(附Aspose.Words for NET 6.5 破解版下载)
- Java处理word文档 用jacob 表格图片文字替换
- Aspose Word使用
- 使用Java的POI进行Word文档的解析并生成XML格式文档
- JAVA使用aspose.word 实现html转换word
- C# Aspose.Word 操作word文档【一】
- C# Aspose.Word 操作word文档【二】
- C# Aspose.Word 操作word文档【三】
- C# Aspose.Word 操作word文档【四】
- C# Aspose.Word 操作word文档【五】
- .net 使用 Aspose.Words 进行 Word替换操作
- .net 使用 Aspose.Words 进行 Word替换操作
- .net 使用 Aspose.Words 进行 Word替换操作
- C# 连接SQL Server数据库的几种方式--server+data source等方式
- 处理内核遇到的问题
- NYoj-一种排序
- 如何查找openCV函数源代码
- mysql之累加
- 使用aspose.word.for.java解析word文档图片并替换
- innosetup 使用
- UI 常用方法总结之--- UIViewController UIResponder (不断更新中)
- 关于删除Xcode里多余的证书授权文件
- Java:多态
- db2 命令
- ubuntu12.04下安装ns3
- UVA11080- Place the Guards(二分图染色)
- 第七周项目四“撞错”体验