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
- Porovnejte dva soubory PDF pomocí REST API v Pythonu
- Porovnejte více souborů PDF v Pythonu
- Přizpůsobte výsledky porovnání v Pythonu
- Získejte seznam změn v Pythonu
- Porovnejte a uložte s heslem a metadaty v Pythonu
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:
- Nahrát soubory PDF do cloudu
- Porovnat soubory PDF
- 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)
Výsledný soubor PDF také obsahuje souhrnnou stránku na konci dokumentu, jak je uvedeno níže:
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));
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.