Bereinigen eines Dokuments
Manchmal müssen Sie möglicherweise nicht verwendete oder doppelte Informationen entfernen, um die Größe des Ausgabedokuments und die Verarbeitungszeit zu reduzieren.
Während Sie nicht verwendete Daten wie Stile oder Listen oder doppelte Informationen manuell suchen und entfernen können, ist es viel bequemer, dies mit den von Aspose.Words bereitgestellten Funktionen und Funktionen zu tun.
Mit der Klasse CleanupOptions können Sie Optionen für die Dokumentbereinigung angeben. Um doppelte Stile oder nur nicht verwendete Stile oder Listen aus dem Dokument zu entfernen, können Sie die Methode Cleanup verwenden.
Entfernen nicht verwendeter Informationen aus einem Dokument
Sie können die Eigenschaften UnusedStyles und UnusedBuiltinStyles verwenden, um Stile zu erkennen und zu entfernen, die als “nicht verwendet” markiert sind.
Sie können die Eigenschaft UnusedLists verwenden, um Listen und Listendefinitionen zu erkennen und zu entfernen, die als “nicht verwendet” markiert sind.
Das folgende Codebeispiel zeigt, wie nur nicht verwendete Stile aus einem Dokument entfernt werden:
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"); |
Doppelte Informationen aus einem Dokument entfernen
Sie können auch die Eigenschaft DuplicateStyle verwenden, um alle doppelten Stile durch den ursprünglichen zu ersetzen und Duplikate aus einem Dokument zu entfernen.
Das folgende Codebeispiel zeigt, wie doppelte Stile aus einem Dokument entfernt werden:
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"); |