Vanwege het feit dat PDF een van de meest gebruikte formaten van de digitale wereld is, is het vaak nodig om twee versies van hetzelfde document te vergelijken. In dit artikel wordt besproken hoe u twee PDF-documenten kunt vergelijken en de verschillen kunt benadrukken met behulp van C#. Verder zullen we zien hoe u met een wachtwoord beveiligde PDF-bestanden kunt vergelijken, wijzigingen kunt accepteren en weigeren, en ook hoe u meer dan twee PDF-bestanden kunt vergelijken met C#-voorbeelden.

Vergelijk PDF-documenten om verschillen te vinden met behulp van .NET API

De volgende onderwerpen worden hier besproken:

.NET API om PDF-bestanden te vergelijken

GroupDocs.Comparison for .NET is de API die vergelijking mogelijk maakt tussen meerdere PDF-documenten en vele andere bestanden van hetzelfde documentformaat binnen de .NET-applicaties. Ik zal deze API gebruiken in C#-codevoorbeelden van dit artikel om PDF-documenten te vergelijken.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloadsectie of de API in uw .NET-toepassing installeren via NuGet.

PM> Install-Package GroupDocs.Comparison

PDF-documenten vergelijken met C#

Als u meerdere exemplaren van een PDF-document heeft, kunt u deze bestanden vergelijken om de verschillen (toevoegingen, verwijderingen) te vinden. Nadat u de PDF-inhoud hebt vergeleken, kunt u een nieuw document maken waarin alle geïdentificeerde wijzigingen worden gemarkeerd. Hieronder volgen de stappen om twee PDF-documenten te vergelijken en de verschillen te benadrukken met behulp van C#.

  • Laad het eerste PDF-document met de klasse Comparer.
  • Voeg het tweede bestand toe aan Comparer met de methode Add().
  • Vergelijk beide PDF-bestanden en krijg de samenvatting van de wijzigingen door de methode Compare() aan te roepen.

Het volgende C#-codefragment laat zien hoe u PDF-documenten kunt vergelijken en de wijzigingen in het resulterende document kunt markeren.

/*
 * Vergelijk twee PDF-documenten en markeer wijzigingen met behulp van C#
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

Geïdentificeerde wijzigingen van PDF-bestanden accepteren of weigeren met C#

Net als de functies voor het bijhouden van wijzigingen, kunt u elke geïdentificeerde wijziging in PDF-documenten programmatisch accepteren of weigeren. De volgende stappen laten zien hoe u de geïdentificeerde wijzigingen in de PDF-documenten vergelijkt en vervolgens accepteert of afwijst.

  • Laad de bron- en doel-PDF-bestanden met de klasse Comparer.
  • Vergelijk de geladen documenten met de methode Compare().
  • Haal de geïdentificeerde wijzigingen op met de methode GetChanges().
  • Doorloop nu de wijzigingen en stel de ComparisonAction in.
    • Selecteer Accepteren of Weigeren voor elke wijziging.
  • Roep de methode ApplyChanges() aan om het resulterende document met de geaccepteerde wijzigingen op te halen.

Het volgende codefragment vergelijkt twee PDF-documenten en accepteert vervolgens een geïdentificeerde wijziging en wijst vervolgens een andere af met behulp van C#.

/*
 * Accepteer en verwerp geïdentificeerde wijzigingen door PDF-documenten te vergelijken met C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // De eerste geïdentificeerde wijziging wordt afgewezen en deze wordt niet toegevoegd aan het resultaatdocument
    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 });
}

Vergelijk meer dan twee PDF-bestanden met C#

Op dezelfde manier kunt u meer dan twee documenten vergelijken. Hieronder volgen de stappen die meerdere PDF-documenten vergelijken op verschillen en de geïdentificeerde wijzigingen markeren.

  • Laad het eerste PDF-bestand met de klasse Comparer.
  • Voeg andere documenten toe aan Comparer met behulp van de methode Toevoegen().
  • Vergelijk alle PDF-bestanden met de methode Compare() en krijg de wijzigingen en samenvatting van wijzigingen.

Het volgende voorbeeld laat zien hoe u meerdere PDF-bestanden in C# kunt vergelijken en de wijzigingen in het resulterende document kunt krijgen.

/*
 * Meerdere PDF-documenten vergelijken met 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");
}

Vergelijk wachtwoordbeveiligde PDF-documenten met C#

U kunt de met een wachtwoord beveiligde bestanden vergelijken door gewoon hun wachtwoorden op te geven tijdens het laden van deze documenten. De volgende stappen laten zien hoe we de PDF-inhoud van met een wachtwoord beveiligde documenten kunnen vergelijken met behulp van C#.

  • Bereid de laadopties voor bron- en doeldocumenten voor door het wachtwoord op te geven.
  • Laad het brondocument met de klasse Comparer.
  • Voeg het doeldocument toe aan Comparer met behulp van de voorbereide laadopties.
  • Haal het overzicht van de verschillen op door de methode Compare() aan te roepen.

In het volgende voorbeeld worden twee met een wachtwoord beveiligde PDF-bestanden vergeleken en worden de geïdentificeerde verschillen benadrukt in een afzonderlijk document met behulp van C#.

/*
 * Vergelijk wachtwoordbeveiligde PDF-documenten met 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");
}

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Tot slot hebben we geleerd hoe we twee of meer PDF-bestanden kunnen vergelijken met C#. Verder hebben we de verschillen benadrukt en de geïdentificeerde wijzigingen programmatisch geaccepteerd of afgewezen. Ten slotte hebben we gezien hoe u met een wachtwoord beveiligde PDF-documenten kunt vergelijken binnen .NET-toepassingen.

Er zijn verschillende andere aanpassingen beschikbaar om de vergelijkingsresultaten te beheren. U kunt de vergelijkingsgevoeligheid instellen, alleen de overzichtspagina weergeven, hiaten negeren, enz. Meer informatie over GroupDocs.Comparison for .NET vindt u in de documentatie. U kunt uw eigen toepassingen voor documentvergelijking bouwen voor verschillende documentindelingen. Neem voor vragen contact met ons op via het forum.

Zie ook