Porovnejte soubory PDF pomocí REST API v Pythonu

PDF(Portable Document Format) je dnes jedním z nejčastěji používaných typů souborů. Obvykle se používá k distribuci dokumentů pouze pro čtení při zachování rozložení stránky. V různých případech můžeme potřebovat porovnat obsah dvou nebo více dokumentů PDF nebo porovnat více verzí stejného dokumentu. Můžeme snadno porovnávat dokumenty PDF programově, abychom identifikovali podobnosti a rozdíly. V tomto článku se naučíme, jak porovnávat soubory PDF pomocí REST API v Pythonu.

V tomto článku se budou zabývat následujícími tématy:

REST API pro porovnání souborů PDF a Python SDK

Pro porovnání dokumentů PDF budeme používat Python SDK of GroupDocs.Comparison Cloud API. Umožňuje porovnat dva nebo více dokumentů podporovaných formátů a najít rozdíly. Nainstalujte jej pomocí následujícího příkazu v konzole:

pip install groupdocs_comparison_cloud

Před provedením uvedených kroků získejte své ID klienta a tajný klíč z řídicího panelu. Jakmile budete mít své ID a tajemství, přidejte kód, jak je uvedeno níže:

# Tento příklad kódu ukazuje, jak nastavit ID klienta a tajný klíč.
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Porovnejte dva soubory PDF pomocí REST API v Pythonu

Dokumenty PDF můžeme porovnat v cloudu podle jednoduchých kroků uvedených níže:

  1. Nahrát soubory PDF do cloudu
  2. Porovnat soubory PDF
  3. Stáhnout výsledný soubor PDF

Nahrajte soubory PDF

Nejprve nahrajeme zdrojové a cílové soubory PDF do cloudu pomocí následující ukázky kódu:

# Tento příklad kódu ukazuje, jak nahrát soubory PDF do cloudu.
# Vytvořte instanci API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# nahrát ukázkové soubory
for filename in glob.iglob("C:\\Files\\*.pdf", recursive=True):
    destFile = filename.replace("C:\\Files\\", "", 1)            
    file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
    print("Uploaded file: "+ destFile)

V důsledku toho budou nahrané soubory dostupné v sekce souborů řídicího panelu v cloudu.

Porovnejte soubory PDF pomocí Pythonu

Programově můžeme porovnat dva dokumenty PDF podle následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále vytvořte instanci souboru FileInfo.
  • Poté nastavte cestu ke zdrojovému souboru PDF.
  • Poté vytvořte další instanci FileInfo.
  • Poté nastavte cílovou cestu k souboru PDF.
  • Dále vytvořte instanci ComparisonOptions.
  • Poté přiřaďte zdrojové a cílové soubory.
  • Nastavte také cestu k výstupnímu souboru.
  • Poté vytvořte instanci objektu ComparisonsRequest s objektem ComparisonOptions
  • Nakonec získejte výsledky voláním metody CompareApi.comparisons() s argumentem ComparisonsRequest.

Následující ukázka kódu ukazuje, jak porovnat dva soubory PDF pomocí REST API v Pythonu.

# Tento příklad kódu ukazuje, jak porovnat dva soubory PDF.
# Vytvořte instanci rozhraní API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Vstupní zdrojový soubor
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Cílový soubor
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Vytvořit žádost o srovnání
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# porovnat
response = api_instance.comparisons(request)
Porovnejte dva soubory PDF pomocí REST API v Pythonu

Porovnejte dva soubory PDF pomocí REST API v Pythonu.

Výsledný soubor PDF také obsahuje souhrnnou stránku na konci dokumentu, jak je uvedeno níže:

Souhrnná stránka.

Souhrnná stránka zobrazující celkový počet odstraněných nebo vložených prvků.

Stáhněte si výsledný soubor

Výše uvedená ukázka kódu uloží rozdíly do nově vytvořeného souboru PDF v cloudu. Lze jej stáhnout pomocí následujícího příkladu kódu:

# Tento příklad kódu ukazuje, jak stáhnout výsledný soubor.
# Vytvořte instanci rozhraní API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Vytvořit požadavek na stažení souboru
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# Stáhnout soubor
response = file_api.download_file(request)

# Přesuňte stažený soubor do svého pracovního adresáře
shutil.move(response, "C:\\Files\\") 

Porovnejte více souborů PDF v Pythonu

Můžeme porovnat více dokumentů PDF podle následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále vytvořte instanci FileInfo a nastavte cestu ke zdrojovému souboru PDF.
  • Poté vytvořte další instanci FileInfo a nastavte cestu k cílovému souboru PDF.
  • Poté opakujte výše uvedený krok a přidejte další cílové soubory.
  • Dále vytvořte instanci ComparisonOptions.
  • Poté přiřaďte zdrojové/cílové soubory a nastavte cestu k výstupnímu souboru.
  • Poté vytvořte instanci objektu ComparisonsRequest s objektem ComparisonOptions
  • Nakonec získejte výsledky voláním metody CompareApi.comparisons() s argumentem ComparisonsRequest.

Následující ukázka kódu ukazuje, jak porovnat více souborů PDF pomocí REST API v Pythonu.

# Tento příklad kódu ukazuje, jak porovnat více souborů PDF.
# Vytvořte potřebné instance API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Zdroj PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Cílové PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# Cílové PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# Vytvořte žádost o srovnání a porovnejte
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Přizpůsobte výsledky porovnání v Pythonu

Styl změn nalezených ve výsledku procesu porovnávání můžeme přizpůsobit podle následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále vytvořte instanci FileInfo a nastavte cestu ke zdrojovému souboru PDF.
  • Poté vytvořte další instanci FileInfo a nastavte cestu k cílovému souboru PDF.
  • Dále vytvořte instanci Nastavení.
  • Poté nastavte citlivost porovnání a různé vlastnosti, abyste přizpůsobili styl položky.
  • Dále vytvořte instanci ComparisonOptions.
  • Poté přiřaďte zdrojové/cílové soubory a nastavte cestu k výstupnímu souboru.
  • Poté vytvořte instanci objektu ComparisonsRequest s objektem ComparisonOptions
  • Nakonec získejte výsledky voláním metody CompareApi.comparisons() s argumentem ComparisonsRequest.

Následující ukázka kódu ukazuje, jak přizpůsobit výsledky porovnání pomocí REST API v Pythonu.

# Tento příklad kódu ukazuje, jak cCustomize výsledky porovnání.
# Vytvořte potřebné instance API
api_instance = groupdocs_comparison_cloud.PorovnejteApi.from_keys(client_id, client_secret)

# Zdroj PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Cílové PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()

# Porovnejte citlivost
settings.sensitivity_of_comparison = 100

# Přizpůsobte styly změnám
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Vytvořit žádost o srovnání
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Porovnejte
response = api_instance.comparisons(request)

Získejte seznam změn v Pythonu

Seznam všech změn nalezených během porovnávání souborů PDF můžeme získat pomocí následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále vytvořte instanci FileInfo a nastavte cestu ke zdrojovému souboru PDF.
  • Poté vytvořte další instanci FileInfo a nastavte cestu k cílovému souboru PDF.
  • Dále vytvořte instanci ComparisonOptions.
  • Poté přiřaďte zdrojové/cílové soubory a nastavte cestu k výstupnímu souboru.
  • Poté vytvořte instanci PostChangesRequest s objektem ComparisonOptions
  • Nakonec získejte výsledky voláním metody CompareApi.post\changes() s argumentem ComparisonsRequest.

Následující ukázka kódu ukazuje, jak získat seznam změn pomocí REST API v Pythonu.

# Tento příklad kódu ukazuje, jak získat seznam všech změn.
# Vytvořte potřebné instance API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Zdroj PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Cílové PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Vytvořit požadavek na odeslání změn
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Odeslat změny
response = api_instance.post_changes(request)

# Zobrazení se změní
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
Získejte seznam změn v Pythonu

Získejte seznam změn v Pythonu.

Porovnejte a uložte s heslem a metadaty v Pythonu

Výsledný soubor můžeme chránit heslem a uložit jej s metadaty podle následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále vytvořte instanci FileInfo a nastavte cestu ke zdrojovému souboru PDF.
  • Poté vytvořte další instanci FileInfo a nastavte cestu k cílovému souboru PDF.
  • Dále vytvořte instanci Nastavení.
  • Poté vytvořte instanci metadat.
  • Poté nastavte různé vlastnosti metadat, jako je autor, společnost, last\save\by atd.
  • Poté nastavte heslo a heslo\save\options.
  • Dále vytvořte instanci ComparisonOptions.
  • Poté přiřaďte zdrojové/cílové soubory a nastavte cestu k výstupnímu souboru.
  • Poté vytvořte instanci objektu ComparisonsRequest s objektem ComparisonOptions
  • Nakonec získejte výsledky voláním metody CompareApi.comparisons() s argumentem ComparisonsRequest.

Následující ukázka kódu ukazuje, jak uložit výsledný soubor s heslem a metadaty pomocí REST API v Pythonu.

# Tento příklad kódu ukazuje, jak uložit výsledný soubor s heslem a metadaty.
# Vytvořte potřebné instance API
api_instance = groupdocs_comparison_cloud.PorovnejteApi.from_keys(client_id, client_secret)

# Zdroj PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Cílové PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# Nastavit metadata
settings.meta_data = groupdocs_comparison_cloud.Metadata()
settings.meta_data.author = "Tom"
settings.meta_data.company = "GroupDocs"
settings.meta_data.last_save_by = "Jack"

#Set password
settings.password_save_option = "User"
settings.password = "password"

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Vytvořit žádost o srovnání
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Porovnejte
response = api_instance.comparisons(request)

Vyzkoušejte online

Vyzkoušejte prosím následující bezplatný online porovnávací nástroj PDF, který je vyvinut pomocí výše uvedeného API. https://products.groupdocs.app/comparison/pdf

Závěr

V tomto článku jsme se naučili porovnávat dokumenty PDF v cloudu. Také jsme viděli, jak porovnat více souborů PDF, přizpůsobit styl změn a získat seznam změn v Pythonu. Tento článek také vysvětluje, jak programově nahrát více souborů PDF do cloudu a poté stáhnout výsledný soubor z cloudu. Kromě toho se můžete dozvědět více o GroupDocs.Comparison Cloud API pomocí dokumentace. Poskytujeme také sekci API Reference, která vám umožní vizualizovat a pracovat s našimi API přímo prostřednictvím prohlížeče. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.

Viz také