Очистить документ

Иногда вам может потребоваться удалить неиспользованную или дублированную информацию, чтобы уменьшить размер выходного документа и время обработки.

Хотя вы можете найти и удалить неиспользуемые данные, такие как стили или списки, или дублировать информацию вручную, это будет гораздо удобнее делать с помощью функций и возможностей, предоставляемых с помощью этих инструментов. Aspose.Words.

The CleanupOptions Класс позволяет указать варианты очистки документов. Чтобы удалить из документа дубликаты стилей или просто неиспользованные стили или списки, вы можете использовать Cleanup метод.

Удалить неиспользованную информацию из документа

Вы можете использовать UnusedStyles и UnusedBuiltinStyles Свойства для обнаружения и удаления стилей, которые помечены как “неиспользованные”.

Вы можете использовать UnusedLists свойство обнаруживать и удалять списки и определения списков, помеченные как “неиспользуемые”.

Следующий пример кода показывает, как удалить из документа только неиспользованные стили:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(MyDir + "Unused styles.docx");
// Combined with the built-in styles, the document now has eight styles.
// A custom style is marked as "used" while there is any text within the document
// formatted in that style. This means that the 4 styles we added are currently unused.
Console.WriteLine($"Count of styles before Cleanup: {doc.Styles.Count}\n" +
$"Count of lists before Cleanup: {doc.Lists.Count}");
// Cleans unused styles and lists from the document depending on given CleanupOptions.
CleanupOptions cleanupOptions = new CleanupOptions { UnusedLists = false, UnusedStyles = true };
doc.Cleanup(cleanupOptions);
Console.WriteLine($"Count of styles after Cleanup was decreased: {doc.Styles.Count}\n" +
$"Count of lists after Cleanup is the same: {doc.Lists.Count}");
doc.Save(ArtifactsDir + "WorkingWithDocumentOptionsAndSettings.CleanupUnusedStylesAndLists.docx");

Удалить дублированную информацию из документа

Вы также можете использовать DuplicateStyle свойство заменять все дублирующие стили оригинальными и удалять дубликаты из документа.

Следующий пример кода показывает, как удалить дубликаты стилей из документа:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(MyDir + "Document.docx");
// Count of styles before Cleanup.
Console.WriteLine(doc.Styles.Count);
// Cleans duplicate styles from the document.
CleanupOptions options = new CleanupOptions { DuplicateStyle = true };
doc.Cleanup(options);
// Count of styles after Cleanup was decreased.
Console.WriteLine(doc.Styles.Count);
doc.Save(ArtifactsDir + "WorkingWithDocumentOptionsAndSettings.CleanupDuplicateStyle.docx");