aspose.words 操作 word 文档-文字替换、删除首行、添加水印等方案

近日,遇到一个需求,需要用到 aspose.words 开处理 word 文档,将调试通过的一些代码和过程记录如下:

相关软件:点击下载 aspose.words.jar

一、对 word 文档文字进行替换

int com.aspose.words.Range.replace(String oldValue, String newValue, boolean isMatchCase, boolean isMatchWholeWord) throws Exception

public static void main(String[] args) {
        try {
            Document document = new Document("D:/picWord/2020/5/20/cecad28c65ed4f0d8e1efa0f22912787_copy.doc");
            document.getRange().replace("Evaluation Warning: The document was created with Spire.Doc for JAVA.", "", false, false);
            document.save("D:/picWord/2020/5/20/cecad28c65ed4f0d8e1efa0f22912787_copy11.doc");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

效果演示(左为原文档):
效果演示

参考资料:https://www.cnblogs.com/90nice/p/4644326.html

二、删除第一行文本

public static void main(String[] args) {
        try {
            Document document = new Document("D:/picWord/2020/5/20/cecad28c65ed4f0d8e1efa0f22912787_copy.doc");
            
            ParagraphCollection paras = document.getFirstSection().getBody().getParagraphs(); 
            DocumentBuilder builder = new DocumentBuilder(document);
            paras.removeAt(0);
            Paragraph firstPara = paras.get(0);
            builder.moveTo(firstPara);
  
            document.save("D:/picWord/2020/5/20/cecad28c65ed4f0d8e1efa0f22912787_copy11.doc");
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }

效果演示(左为原文档):
效果演示

三、在 word 文件的第一段之前插入一段文本内容

public static void main(String[] args) {
        try {
            Document document = new Document("D:/picWord/2020/5/20/cecad28c65ed4f0d8e1efa0f22912787_copy.doc");
            
            ParagraphCollection paras = document.getFirstSection().getBody().getParagraphs(); 
            Paragraph newPara = new Paragraph(document);
            DocumentBuilder builder = new DocumentBuilder(document);
            paras.insert(0, newPara);
            Paragraph firstPara = paras.get(0);
            builder.moveTo(firstPara);
            builder.write("这是插入第一行的数据");

            document.save("D:/2020/5/20/cecad28c65ed4f0d8e1efa0f22912787_copy11.doc");
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }

效果演示(左为原文档):
效果演示

参考资料:https://www.v2ex.com/t/403044

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值