Revisions

Revisions

Este guia mostra como inspecionar, aceitar, rejeitar e registrar alterações controladas em um documento Word com Aspose.Words FOSS para .NET. Aspose.Words FOSS para .NET pode inspecionar, aceitar e rejeitar alterações controladas (revisões) em um documento Word através de Document.Revisions, e pode registrar novas alterações controladas ao editar via Document.StartTrackRevisions()/StopTrackRevisions().


Lendo Alterações Controladas

Document.Revisions retorna um RevisionCollection de cada Revision no documento; Range.Revisions limita o mesmo a um intervalo específico. Cada Revision relata quem fez a alteração e quando (Author, DateTime), que tipo de alteração é (RevisionType: Insertion, Deletion, FormatChange, StyleDefinitionChange ou Moving), e onde ela se aplica (ParentNode, ParentStyle). Document.HasRevisions informa antecipadamente se um documento carregado possui alterações controladas.


Aceitando e Rejeitando Revisões

Chame Revision.Accept() ou Revision.Reject() para resolver uma única alteração controlada, ou trabalhe em toda a coleção de uma vez com RevisionCollection.AcceptAll() / RejectAll(). Document.AcceptAllRevisions() é uma conveniência ao nível do documento que aceita todas as revisões em uma única chamada. Para aceitar ou rejeitar um subconjunto seletivamente, implemente IRevisionCriteria.IsMatch(revision) e passe-o para RevisionCollection.Accept(criteria) ou Reject(criteria).


Grupos de Revisão

Revisões consecutivas do mesmo autor e do mesmo tipo são expostas juntas como um RevisionGroup — acessível via Revision.Group para uma única revisão, ou RevisionCollection.Groups (um RevisionGroupCollection) para cada grupo no documento. Cada grupo relata seu Text, Author e RevisionType combinados.


Gravando Novas Alterações Rastreadas

Chame Document.StartTrackRevisions(author) ou a sobrecarga StartTrackRevisions(author, dateTime) antes de fazer edições para que as alterações subsequentes sejam registradas como revisões em vez de aplicadas diretamente; chame StopTrackRevisions() para encerrar o rastreamento. A propriedade Document.TrackRevisions indica se o rastreamento está atualmente ativo.


Visualizando Conteúdo Original vs. Final

Document.RevisionsView controla se o documento é apresentado em seu estado Original ou Final (um valor RevisionsView) quando há revisões, sem alterar os dados subjacentes das revisões.


Dicas e Melhores Práticas

  • Verifique Document.HasRevisions antes de iterar Document.Revisions para evitar trabalho desnecessário em documentos sem alterações rastreadas.
  • Prefira RevisionCollection.Accept(criteria)/Reject(criteria) com um IRevisionCriteria personalizado em vez de filtrar manualmente e chamar Revision.Accept() um de cada vez.
  • RevisionGroup é útil para apresentar um resumo legível das alterações — agrupar revisões consecutivas do mesmo autor e do mesmo tipo evita tratar cada caractere inserido como uma entrada separada.
  • Sempre combine StartTrackRevisions() com uma chamada posterior de StopTrackRevisions() para que edições não relacionadas não sejam registradas como alterações rastreadas.

Problemas comuns

ProblemaCausaCorreção
Document.Revisions está vazio após ediçõesStartTrackRevisions() nunca foi chamado antes da ediçãoChame StartTrackRevisions(author) antes de fazer as edições que deseja rastrear
RevisionCollection.Accept(criteria) não aceita nadaIRevisionCriteria.IsMatch() não corresponde a nenhuma revisãoVerifique a lógica dos critérios em relação aos valores reais Revision.Author/RevisionType/ParentNode primeiro
O documento ainda mostra marcação de alterações rastreadas após AcceptAllRevisions()Visualizar estado, não dados de revisãoDefina Document.RevisionsView como Final se precisar da visualização de conteúdo resolvido

FAQ

Como verifico se um documento tem alterações rastreadas?

Leia Document.HasRevisions — é true se Document.Revisions contiver ao menos um Revision.

Qual a diferença entre Revision.Accept() e RevisionCollection.AcceptAll()?

Revision.Accept() resolve uma revisão específica; RevisionCollection.AcceptAll() (ou Document.AcceptAllRevisions()) resolve todas as revisões da coleção de uma vez.

Como aceito apenas revisões feitas por um autor específico?

Implemente IRevisionCriteria.IsMatch(revision) para verificar revision.Author, então chame RevisionCollection.Accept(criteria) com essa implementação.

Como registro minhas próprias edições como alterações rastreadas?

Chame Document.StartTrackRevisions(author) antes de fazer as edições, então Document.StopTrackRevisions() quando terminar.

Quais tipos de revisão existem?

RevisionType define Insertion, Deletion, FormatChange, StyleDefinitionChange e Moving.


API Reference Resumo

Classe / MétodoDescrição
Document.RevisionsRevisionCollection de todas as alterações rastreadas no documento
RevisionUma alteração rastreada: Author, DateTime, RevisionType, Accept(), Reject()
RevisionCollectionAcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups
RevisionGroup / RevisionGroupCollectionRevisões consecutivas do mesmo autor, do mesmo tipo agrupadas juntas
IRevisionCriteriaPredicado personalizado (IsMatch(revision)) para aceitação/rejeição seletiva
Document.StartTrackRevisions() / StopTrackRevisions()Registre novas edições como alterações controladas
Document.RevisionsViewOriginal ou Final apresentação de conteúdo revisado

Ver também

 Português