Curățați un Document
Uneori poate fi necesar să eliminați informațiile neutilizate sau duplicate pentru a reduce dimensiunea documentului de ieșire și timpul de procesare.
Deși puteți găsi și elimina datele neutilizate, cum ar fi stilurile sau listele, sau puteți duplica manual informațiile, va fi mult mai convenabil să faceți acest lucru folosind caracteristicile și capacitățile furnizate de Aspose.Words.
Clasa CleanupOptions vă permite să specificați opțiuni pentru curățarea documentelor. Pentru a elimina stilurile duplicate sau doar stilurile sau listele neutilizate din document, puteți utiliza metoda Cleanup.
Eliminarea informațiilor neutilizate dintr-un Document
Puteți utiliza proprietățile UnusedStyles și UnusedBuiltinStyles pentru a detecta și elimina stilurile marcate ca “neutilizate”.
Puteți utiliza proprietatea UnusedLists pentru a detecta și elimina listele și definițiile listelor care sunt marcate ca"neutilizate".
Următorul exemplu de cod arată cum să eliminați numai stilurile neutilizate dintr-un document:
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"); |
Eliminați informațiile Duplicate dintr - un Document
De asemenea, puteți utiliza proprietatea DuplicateStyle pentru a înlocui toate stilurile duplicate cu cea originală și pentru a elimina duplicatele dintr-un document.
Următorul exemplu de cod arată cum să eliminați stilurile duplicate dintr-un document:
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"); |