Очистка документа
Иногда вам может потребоваться удалить неиспользуемую или дублирующуюся информацию, чтобы уменьшить размер выходного документа и время обработки.
Хотя вы можете найти и удалить неиспользуемые данные, такие как стили или списки, или дублирующую информацию вручную, гораздо удобнее будет делать это с помощью функций и возможностей, предоставляемых Aspose.Words.
Класс CleanupOptions позволяет задать параметры очистки документа. Чтобы удалить повторяющиеся стили или просто неиспользуемые стили или списки из документа, вы можете использовать метод cleanup.
Удаление неиспользуемой информации из документа
Вы можете использовать свойства unused_styles и unused_builtin_styles для обнаружения и удаления стилей, помеченных как “неиспользуемые”.
Свойство unused_lists можно использовать для обнаружения и удаления списков и определений списков, помеченных как “неиспользуемые”.
В следующем примере кода показано, как удалить из документа только неиспользуемые стили:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "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. | |
print(f"Count of styles before Cleanup: {doc.styles.count}\n" + | |
f"Count of lists before Cleanup: {doc.lists.count}") | |
# Cleans unused styles and lists from the document depending on given CleanupOptions. | |
cleanupOptions = aw.CleanupOptions() | |
cleanupOptions.unused_lists = False | |
cleanupOptions.unused_styles = True | |
doc.cleanup(cleanupOptions) | |
print(f"Count of styles after Cleanup was decreased: {doc.styles.count}\n" + | |
f"Count of lists after Cleanup is the same: {doc.lists.count}") | |
doc.save(docs_base.artifacts_dir + "WorkingWithDocumentOptionsAndSettings.cleanup_unused_styles_and_lists.docx") |
Удаление дублирующейся информации из документа
Вы также можете использовать свойство duplicate_style, чтобы заменить все повторяющиеся стили оригинальным и удалить дубликаты из документа.
В следующем примере кода показано, как удалить повторяющиеся стили из документа:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Document.docx") | |
# Count of styles before Cleanup. | |
print(doc.styles.count) | |
# Cleans duplicate styles from the document. | |
options = aw.CleanupOptions() | |
options.duplicate_style = True | |
doc.cleanup(options) | |
# Count of styles after Cleanup was decreased. | |
print(doc.styles.count) | |
doc.save(docs_base.artifacts_dir + "WorkingWithDocumentOptionsAndSettings.cleanup_duplicate_style.docx") |