Vzhledem k tomu, že PDF je jedním z nejpoužívanějších formátů digitálního světa, je často nutné porovnávat dvě verze stejného dokumentu. Tento článek pojednává o tom, jak porovnat dva dokumenty PDF a zdůraznit rozdíly pomocí C#. Dále uvidíme, jak porovnávat soubory PDF chráněné heslem, přijímat a odmítat změny a také srovnání více než dvou souborů PDF s příklady C#.

Porovnejte dokumenty PDF a najděte rozdíly pomocí rozhraní .NET API

Diskutují se zde následující témata:

.NET API pro porovnání souborů PDF

GroupDocs.Comparison for .NET je API, které umožňuje srovnání mezi více dokumenty PDF a mnoha dalšími soubory stejného formátu dokumentů v rámci aplikací .NET. K porovnání dokumentů PDF použiji toto rozhraní API v příkladech kódu C# v tomto článku.

Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Comparison

Porovnání dokumentů PDF pomocí C#

Pokud máte více kopií dokumentu PDF, můžete tyto soubory porovnat a najít rozdíly (přidání, odstranění). Po porovnání obsahu PDF můžete vytvořit nový dokument, který zvýrazní všechny zjištěné změny. Následují kroky k porovnání dvou dokumentů PDF a zvýraznění rozdílů pomocí C#.

  • Načtěte první dokument PDF pomocí třídy Comparer.
  • Přidejte druhý soubor do Comparer pomocí metody Add().
  • Porovnejte oba soubory PDF a získejte souhrn změn voláním metody Compare().

Následující fragment kódu C# ukazuje, jak porovnávat dokumenty PDF a zvýraznit změny ve výsledném dokumentu.

/*
 * Porovnejte dva dokumenty PDF a zvýrazněte změny pomocí C#
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

Přijmout nebo odmítnout identifikované změny souborů PDF pomocí C#

Stejně jako funkce sledování změn můžete programově přijmout nebo odmítnout každou identifikovanou změnu v dokumentech PDF. Následující kroky ukazují, jak porovnat a poté přijmout nebo odmítnout identifikované změny v dokumentech PDF.

  • Načtěte zdrojové a cílové soubory PDF pomocí třídy Comparer.
  • Porovnejte načtené dokumenty pomocí metody Compare().
  • Získejte identifikované změny pomocí metody GetChanges().
  • Nyní projděte změny a nastavte ComparisonAction.
    • Pro každou změnu vyberte Přijmout nebo Odmítnout.
  • Voláním metody ApplyChanges() získáte výsledný dokument s přijatými změnami.

Následující fragment kódu porovná dva dokumenty PDF a poté přijme identifikovanou změnu a poté odmítne další pomocí C#.

/*
 * Přijměte a odmítněte identifikované změny porovnáním dokumentů PDF pomocí C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // Odmítne první identifikovanou změnu a nebude přidána do výsledného dokumentu
    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 });
}

Porovnejte více než dva soubory PDF pomocí C#

Podobně můžete porovnat více než dva dokumenty. Následují kroky, které porovnávají rozdíly mezi více dokumenty PDF a zvýrazní zjištěné změny.

  • Načtěte první soubor PDF pomocí třídy Comparer.
  • Přidejte další dokumenty do Compareru pomocí metody Add().
  • Porovnejte všechny soubory PDF pomocí metody Compare() a získejte změny a souhrn změn.

Následující příklad ukazuje, jak porovnat více souborů PDF v C# a získat změny ve výsledném dokumentu.

/*
 * Porovnejte více dokumentů PDF 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");
}

Porovnání dokumentů PDF chráněných heslem pomocí C#

Soubory chráněné heslem můžete porovnat tak, že při načítání těchto dokumentů zadáte jejich hesla. Následující kroky ukazují, jak můžeme porovnat obsah PDF dokumentů chráněných heslem pomocí C#.

  • Připravte možnosti načítání pro zdrojové a cílové dokumenty zadáním hesla.
  • Načtěte zdrojový dokument pomocí třídy Comparer.
  • Přidejte cílový dokument do Compareru pomocí připravených možností načítání.
  • Získejte souhrn rozdílů voláním metody Compare().

Následující příklad porovnává dva soubory PDF chráněné heslem a zdůrazňuje zjištěné rozdíly v samostatném dokumentu pomocí jazyka C#.

/*
 * Porovnání dokumentů PDF chráněných heslem pomocí 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");
}

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.

Závěr

Na závěr jsme se naučili, jak porovnat dva nebo více souborů PDF pomocí C#. Dále jsme zdůraznili rozdíly a programově přijali nebo odmítli identifikované změny. Nakonec jsme viděli, jak porovnat heslem chráněné PDF dokumenty v rámci .NET aplikací.

Pro kontrolu výsledků porovnání je k dispozici několik dalších přizpůsobení. Můžete nastavit citlivost porovnání, zobrazit pouze souhrnnou stránku, ignorovat mezery atd. Další informace o GroupDocs.Comparison for .NET z dokumentace. Můžete si vytvořit své vlastní aplikace pro porovnávání dokumentů pro různé formáty dokumentů. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také