aspose.words更新目录

本文档提供了一种解决方案,针对使用Aspose.Words库时遇到的目录更新后格式设置无效的问题。通过代码示例展示了如何更新域、设置目录样式以及锁定目录,确保目录格式不被手动更新破坏。主要涉及Java编程,文档处理和Aspose库的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

解决aspose.words更新目录部分设置无效问题

代码如下(示例):

private static void update() throws Exception {

        URL url = new URL("url");
        URLConnection urlConnection = url.openConnection();
        InputStream inputStream = urlConnection.getInputStream();
        Document doc = new Document(inputStream);

        //1、先更新域
        doc.updateFields();

        //2、给目录设置相应的样式
        for (Field field : (Iterable<Field>) doc.getRange().getFields()) {
            if (field.getType() == (FieldType.FIELD_PAGE_REF)) {
                FieldPageRef pageRef = (FieldPageRef) field;
                if (pageRef.getBookmarkName() != "" || pageRef.getBookmarkName().startsWith("_Toc")) {
                    Paragraph tocItem = (Paragraph) field.getStart().getAncestor(NodeType.PARAGRAPH);
                    tocItem.getParagraphFormat().setLineSpacing(24);
                    for (Run run : tocItem.getRuns()) {
                        run.getFont().setName("仿宋");
                        run.getFont().setSize(16);
                        run.getFont().setBold(true);
                    }
                }
            }
        }

        //3、锁定目录,避免手动更新目录后,格式失效
        for (Field field : (Iterable<Field>) doc.getRange().getFields())
            if (field.getType() == (FieldType.FIELD_TOC))
                field.isLocked(true);

        doc.save("url");

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值