Очищення документа

Іноді вам може знадобитися видалити невикористану або дублікат інформації, щоб зменшити розмір вихідного документа та час обробки.

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

Клас CleanupOptions дозволяє задати параметри очищення документа. Щоб видалити повторювані стилі або просто невикористані стилі чи списки з документа, ви можете скористатися методом Cleanup.

Видалення невикористаної інформації з документа

Ви можете використовувати властивості UnusedStyles та UnusedBuiltinStyles для виявлення та видалення стилів, позначених як “невикористані”.

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

Наступний приклад коду показує, як видалити з документа лише невикористані стилі:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
auto doc = MakeObject<Document>(MyDir + u"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.
std::cout << (String::Format(u"Count of styles before Cleanup: {0}\n", doc->get_Styles()->get_Count()) +
String::Format(u"Count of lists before Cleanup: {0}", doc->get_Lists()->get_Count()))
<< std::endl;
// Cleans unused styles and lists from the document depending on given CleanupOptions.
auto cleanupOptions = MakeObject<CleanupOptions>();
cleanupOptions->set_UnusedLists(false);
cleanupOptions->set_UnusedStyles(true);
doc->Cleanup(cleanupOptions);
std::cout << (String::Format(u"Count of styles after Cleanup was decreased: {0}\n", doc->get_Styles()->get_Count()) +
String::Format(u"Count of lists after Cleanup is the same: {0}", doc->get_Lists()->get_Count()))
<< std::endl;
doc->Save(ArtifactsDir + u"WorkingWithDocumentOptionsAndSettings.CleanupUnusedStylesAndLists.docx");

Видалення дублюючої інформації з документа

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

Наступний приклад коду показує, як видалити повторювані стилі з документа:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
auto doc = MakeObject<Document>(MyDir + u"Document.docx");
// Count of styles before Cleanup.
std::cout << doc->get_Styles()->get_Count() << std::endl;
// Cleans duplicate styles from the document.
auto options = MakeObject<CleanupOptions>();
options->set_DuplicateStyle(true);
doc->Cleanup(options);
// Count of styles after Cleanup was decreased.
std::cout << doc->get_Styles()->get_Count() << std::endl;
doc->Save(ArtifactsDir + u"WorkingWithDocumentOptionsAndSettings.CleanupDuplicateStyle.docx");