Poiché il PDF è uno dei formati più in uso nel mondo digitale, spesso è necessario confrontare due versioni dello stesso documento. Questo articolo illustra come confrontare due documenti PDF ed evidenziare le differenze usando C#. Inoltre, vedremo come confrontare file PDF protetti da password, accettare e rifiutare le modifiche e anche confrontare più di due file PDF con esempi C#.

Confronta i documenti PDF per trovare le differenze utilizzando l'API .NET

I seguenti argomenti sono discussi qui:

API .NET per confrontare i file PDF

GroupDocs.Comparison for .NET è l’API che consente il confronto tra più documenti PDF e molti altri file dello stesso formato di documento all’interno delle applicazioni .NET. Userò questa API negli esempi di codice C# di questo articolo per confrontare i documenti PDF.

Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Comparison

Confronta i documenti PDF usando C#

Se disponi di più copie di un documento PDF, puoi confrontare questi file per trovare le differenze (aggiunte, eliminazioni). Dopo aver confrontato il contenuto del PDF, puoi creare un nuovo documento che evidenzi tutte le modifiche identificate. Di seguito sono riportati i passaggi per confrontare due documenti PDF ed evidenziare le differenze utilizzando C#.

  • Carica il primo documento PDF utilizzando la classe Comparatore.
  • Aggiungi il secondo file a Comparer usando il metodo Add().
  • Confronta entrambi i file PDF e ottieni il riepilogo delle modifiche chiamando il metodo Compare().

Il frammento di codice C# seguente mostra come confrontare i documenti PDF ed evidenziare le modifiche nel documento risultante.

/*
 * Confronta due documenti PDF e evidenzia le modifiche utilizzando C#
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

Accetta o rifiuta le modifiche identificate dei file PDF utilizzando C#

Proprio come le funzionalità di monitoraggio delle modifiche, puoi accettare o rifiutare a livello di codice ogni modifica identificata nei documenti PDF. I passaggi seguenti mostrano come confrontare e quindi accettare o rifiutare le modifiche identificate all’interno dei documenti PDF.

  • Carica i file PDF di origine e di destinazione utilizzando la classe Comparer.
  • Confronta i documenti caricati usando il metodo Compare().
  • Ottieni le modifiche identificate usando il metodo GetChanges().
  • Ora attraversa le modifiche e imposta ComparasonAction.
    • Seleziona Accetta o Rifiuta per ogni modifica.
  • Chiama il metodo ApplyChanges() per ottenere il documento risultante con le modifiche accettate.

Il frammento di codice seguente confronta due documenti PDF, quindi accetta una modifica identificata e quindi ne rifiuta un’altra usando C#.

/*
 * Accetta e rifiuta le modifiche identificate confrontando i documenti PDF utilizzando C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // Rifiutando la prima modifica identificata e non verrà aggiunta al documento dei risultati
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(@"path/rejected-change-result.pdf", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges(@"path/accepted-change-result.pdf", new ApplyChangeOptions { Changes = changes });
}

Confronta più di due file PDF usando C#

Allo stesso modo, puoi confrontare più di due documenti. Di seguito sono riportati i passaggi che confrontano più documenti PDF per differenze ed evidenziano le modifiche identificate.

  • Carica i primi file PDF utilizzando la classe Comparatore.
  • Aggiungi altri documenti a Comparer utilizzando il metodo Add().
  • Confronta tutti i file PDF utilizzando il metodo Compare() e ottieni le modifiche e il riepilogo delle modifiche.

L’esempio seguente mostra come confrontare più file PDF in C# e ottenere le modifiche nel documento risultante.

/*
 * Confronta più documenti PDF usando C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Add(@"path/document-3.pdf");
    comparer.Add(@"path/document-4.pdf");

    comparer.Compare(@"path/compare-result.pdf");
}

Confronta documenti PDF protetti da password utilizzando C#

Puoi confrontare i file protetti da password semplicemente fornendo le loro password durante il caricamento di questi documenti. I passaggi seguenti mostrano come confrontare il contenuto PDF di documenti protetti da password utilizzando C#.

  • Preparare le opzioni di caricamento per i documenti di origine e di destinazione fornendo la password.
  • Carica il documento di origine usando la classe Comparatore.
  • Aggiungi il documento di destinazione a Confronto utilizzando le opzioni di caricamento preparate.
  • Ottieni il riepilogo delle differenze chiamando il metodo Compare().

L’esempio seguente confronta due file PDF protetti da password ed evidenzia le differenze identificate in un documento separato usando C#.

/*
 * Confronta documenti PDF protetti da password utilizzando C#
 */
using (Comparer comparer = new Comparer(@"path/protected-document-1.pdf", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add(@"path/protected-document-2.pdf", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare(@"path/compared-protected-docs-result.pdf");
}

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per concludere, abbiamo imparato a confrontare due o più file PDF utilizzando C#. Inoltre, abbiamo evidenziato le differenze e accettato o rifiutato a livello di codice le modifiche identificate. Infine, abbiamo visto come confrontare i documenti PDF protetti da password all’interno delle applicazioni .NET.

Sono disponibili molte altre personalizzazioni per controllare i risultati del confronto. Puoi impostare la sensibilità del confronto, mostrare solo la pagina di riepilogo, ignorare lacune, ecc. Ulteriori informazioni su GroupDocs.Comparison for .NET dalla documentazione. Puoi creare le tue applicazioni di confronto dei documenti per vari formati di documenti. Per domande, contattaci tramite il forum.

Guarda anche