Limpar um documento

Às vezes, pode ser necessário remover informações não utilizadas ou duplicadas para reduzir o tamanho do documento de saída e o tempo de processamento.

Embora seja possível localizar e remover dados não utilizados, como estilos ou listas, ou duplicar informações manualmente, será muito mais conveniente fazer isso usando recursos e capacidades fornecidos por Aspose.Words.

A classe CleanupOptions permite especificar opções para limpeza de documentos. Para remover estilos duplicados ou apenas estilos ou listas não utilizados do documento, pode utilizar o método Cleanup.

Remover informações não utilizadas de um documento

Você pode usar as propriedades UnusedStyles e UnusedBuiltinStyles para detectar e remover estilos marcados como"não utilizados".

Você pode usar a propriedade UnusedLists para detectar e remover listas e definições de lista marcadas como"não utilizadas".

O exemplo de código a seguir mostra como remover apenas estilos não utilizados de um documento:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "TestFile.doc");
// Count of styles before Cleanup.
System.out.println(doc.getStyles().getCount());
// Count of lists before Cleanup.
System.out.println(doc.getLists().getCount());
CleanupOptions cleanupoptions = new CleanupOptions();
cleanupoptions.setUnusedLists(false);
cleanupoptions.setUnusedStyles(true);
// Cleans unused styles and lists from the document depending on given
// CleanupOptions.
doc.cleanup(cleanupoptions);
// Count of styles after Cleanup was decreased.
System.out.println(doc.getStyles().getCount());
// Count of lists after Cleanup is the same.
System.out.println(doc.getLists().getCount());
doc.save(dataDir + "Document.Cleanup_out.docx");

Remover informações duplicadas de um documento

Você também pode usar a propriedade DuplicateStyle para substituir todos os estilos duplicados pelo Original e remover duplicatas de um documento.

O exemplo de código a seguir mostra como remover estilos duplicados de um documento:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Document.doc");
// Count of styles before Cleanup.
System.out.println(doc.getStyles().getCount());
CleanupOptions options = new CleanupOptions();
options.setDuplicateStyle(true);
// Cleans duplicate styles from the document.
doc.cleanup(options);
// Count of styles after Cleanup was decreased.
System.out.println(doc.getStyles().getCount());
doc.save(dataDir + "Document.CleanupDuplicateStyle_out.docx");