Ze względu na fakt, że PDF jest jednym z najczęściej używanych formatów w świecie cyfrowym, często wymagane jest porównanie dwóch wersji tego samego dokumentu. W tym artykule omówiono sposób porównywania dwóch dokumentów PDF i podkreślania różnic przy użyciu języka C#. Ponadto zobaczymy, jak porównać pliki PDF chronione hasłem, zaakceptować i odrzucić zmiany, a także porównać więcej niż dwa pliki PDF z przykładami C#.

Porównaj dokumenty PDF, aby znaleźć różnice za pomocą interfejsu API platformy .NET

Omawiane są tu następujące tematy:

.NET API do porównywania plików PDF

GroupDocs.Comparison for .NET to interfejs API, który umożliwia porównywanie wielu dokumentów PDF i wielu innych plików tego samego formatu w aplikacjach .NET. Użyję tego interfejsu API w przykładach kodu C# w tym artykule, aby porównać dokumenty PDF.

Możesz pobrać instalator DLL lub MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Comparison

Porównaj dokumenty PDF za pomocą C#

Jeśli masz wiele kopii dokumentu PDF, możesz porównać te pliki, aby znaleźć różnice (dodatki, usunięcia). Po porównaniu zawartości pliku PDF możesz utworzyć nowy dokument, który wyróżni wszystkie zidentyfikowane zmiany. Poniżej przedstawiono kroki, aby porównać dwa dokumenty PDF i wyróżnić różnice za pomocą języka C#.

  • Załaduj pierwszy dokument PDF za pomocą klasy Comparer.
  • Dodaj drugi plik do Comparer za pomocą metody Add().
  • Porównaj oba pliki PDF i uzyskaj podsumowanie zmian, wywołując metodę Compare().

Poniższy fragment kodu C# pokazuje, jak porównać dokumenty PDF i wyróżnić zmiany w dokumencie wynikowym.

/*
 * Porównaj dwa dokumenty PDF i wyróżnij zmiany za pomocą C#
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

Zaakceptuj lub odrzuć zidentyfikowane zmiany plików PDF za pomocą C#

Podobnie jak w przypadku funkcji śledzenia zmian, możesz programowo zaakceptować lub odrzucić każdą zidentyfikowaną zmianę w dokumentach PDF. Poniższe kroki pokazują, jak porównać, a następnie zaakceptować lub odrzucić zidentyfikowane zmiany w dokumentach PDF.

  • Załaduj źródłowy i docelowy plik PDF przy użyciu klasy Comparer.
  • Porównaj załadowane dokumenty metodą Compare().
  • Pobierz zidentyfikowane zmiany za pomocą metody GetChanges().
  • Teraz przejrzyj zmiany i ustaw ComparisonAction.
    • Wybierz Akceptuj lub Odrzuć dla każdej zmiany.
  • Wywołaj metodę ApplyChanges(), aby otrzymać wynikowy dokument z zaakceptowanymi zmianami.

Poniższy fragment kodu porównuje dwa dokumenty PDF, a następnie akceptuje zidentyfikowaną zmianę, a następnie odrzuca inną przy użyciu języka C#.

/*
 * Akceptuj i odrzucaj zidentyfikowane zmiany, porównując dokumenty PDF za pomocą języka C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // Odrzucenie pierwszej zidentyfikowanej zmiany i nie zostanie ona dodana do dokumentu wynikowego
    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 });
}

Porównaj więcej niż dwa pliki PDF za pomocą C#

Podobnie możesz porównać więcej niż dwa dokumenty. Poniżej przedstawiono kroki, które porównują wiele dokumentów PDF pod kątem różnic i podkreślają zidentyfikowane zmiany.

  • Załaduj pierwszy plik PDF, używając klasy Comparer.
  • Dodaj inne dokumenty do Porównywarki za pomocą metody Dodaj().
  • Porównaj wszystkie pliki PDF za pomocą metody Compare() i uzyskaj zmiany oraz podsumowanie zmian.

Poniższy przykład pokazuje, jak porównać wiele plików PDF w języku C# i uzyskać zmiany w wynikowym dokumencie.

/*
 * Porównaj wiele dokumentów PDF za pomocą 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");
}

Porównaj dokumenty PDF chronione hasłem przy użyciu języka C#

Możesz porównać pliki chronione hasłem, po prostu podając ich hasła podczas ładowania tych dokumentów. Poniższe kroki pokazują, jak możemy porównać zawartość PDF dokumentów chronionych hasłem przy użyciu języka C#.

  • Przygotuj opcje ładowania dokumentów źródłowych i docelowych, podając hasło.
  • Załaduj dokument źródłowy za pomocą klasy Comparer.
  • Dodaj dokument docelowy do Porównywarki, korzystając z przygotowanych opcji ładowania.
  • Uzyskaj podsumowanie różnic, wywołując metodę Compare().

Poniższy przykład porównuje dwa pliki PDF chronione hasłem i wyróżnia zidentyfikowane różnice w osobnym dokumencie przy użyciu języka C#.

/*
 * Porównaj dokumenty PDF chronione hasłem przy użyciu języka 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");
}

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję na korzystanie z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyliśmy się porównywać dwa lub więcej plików PDF za pomocą języka C#. Ponadto podkreśliliśmy różnice i programowo zaakceptowaliśmy lub odrzuciliśmy zidentyfikowane zmiany. Na koniec zobaczyliśmy, jak porównać dokumenty PDF chronione hasłem w aplikacjach .NET.

Dostępnych jest kilka innych dostosowań, które pozwalają kontrolować wyniki porównania. Możesz ustawić czułość porównania, pokazać tylko stronę podsumowania, zignorować luki itp. Dowiedz się więcej o GroupDocs.Comparison for .NET z dokumentacji. Możesz tworzyć własne aplikacje do porównywania dokumentów dla różnych formatów dokumentów. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też