Een Document opschonen
Soms moet u ongebruikte of dubbele informatie verwijderen om de grootte van het uitvoerdocument en de verwerkingstijd te verkleinen.
Hoewel u ongebruikte gegevens, zoals stijlen of lijsten, kunt vinden en verwijderen of informatie handmatig kunt dupliceren, is het veel handiger om dit te doen met behulp van functies en mogelijkheden van Aspose.Words.
Met de klasse CleanupOptions kunt u opties opgeven voor het opschonen van documenten. Als u dubbele stijlen of alleen ongebruikte stijlen of lijsten uit het document wilt verwijderen, kunt u de methode Cleanup gebruiken.
Ongebruikte informatie uit een Document verwijderen
U kunt de eigenschappen UnusedStyles en UnusedBuiltinStyles gebruiken om stijlen te detecteren en te verwijderen die zijn gemarkeerd als ‘ongebruikt’.
U kunt de eigenschap UnusedLists gebruiken om lijsten en lijstdefinities te detecteren en te verwijderen die zijn gemarkeerd als ‘ongebruikt’.
Het volgende codevoorbeeld laat zien hoe u alleen ongebruikte stijlen uit een document kunt verwijderen:
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"); |
Dubbele informatie uit een Document verwijderen
U kunt ook de eigenschap DuplicateStyle gebruiken om alle dubbele stijlen te vervangen door de originele en duplicaten uit een document te verwijderen.
Het volgende codevoorbeeld laat zien hoe u dubbele stijlen uit een document kunt verwijderen:
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"); |