清理文档
有时您可能需要删除未使用或重复的信息,以减少输出文档的大小和处理时间。
虽然您可以手动查找和删除未使用的数据(如样式或列表)或重复信息,但使用Aspose.Words提供的功能和功能执行此操作会方便得多。
CleanupOptions类允许您指定用于文档清理的选项。 要从文档中删除重复的样式或只是未使用的样式或列表,可以使用Cleanup方法。
从文档中删除未使用的信息
您可以使用UnusedStyles和UnusedBuiltinStyles属性来检测和删除标记为"未使用"的样式。
您可以使用UnusedLists属性检测并删除标记为"未使用"的列表和列表定义。
下面的代码示例演示如何从文档中仅删除未使用的样式:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(dataDir + "TestFile.doc"); | |
// Count of styles before Cleanup. | |
System.out.println(doc.getStyles().getCount()); | |
// Count of lists before Cleanup. | |
System.out.println(doc.getLists().getCount()); | |
CleanupOptions cleanupoptions = new CleanupOptions(); | |
cleanupoptions.setUnusedLists(false); | |
cleanupoptions.setUnusedStyles(true); | |
// Cleans unused styles and lists from the document depending on given | |
// CleanupOptions. | |
doc.cleanup(cleanupoptions); | |
// Count of styles after Cleanup was decreased. | |
System.out.println(doc.getStyles().getCount()); | |
// Count of lists after Cleanup is the same. | |
System.out.println(doc.getLists().getCount()); | |
doc.save(dataDir + "Document.Cleanup_out.docx"); |
从文档中删除重复信息
您还可以使用DuplicateStyle属性将所有重复样式替换为原始样式,并从文档中删除重复项。
下面的代码示例演示如何从文档中删除重复的样式:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(dataDir + "Document.doc"); | |
// Count of styles before Cleanup. | |
System.out.println(doc.getStyles().getCount()); | |
CleanupOptions options = new CleanupOptions(); | |
options.setDuplicateStyle(true); | |
// Cleans duplicate styles from the document. | |
doc.cleanup(options); | |
// Count of styles after Cleanup was decreased. | |
System.out.println(doc.getStyles().getCount()); | |
doc.save(dataDir + "Document.CleanupDuplicateStyle_out.docx"); |