Porównaj pliki PDF za pomocą REST API w Python

PDF(Portable Document Format) jest obecnie jednym z najczęściej używanych typów plików. Zwykle używany do dystrybucji dokumentów tylko do odczytu, z zachowaniem układu strony. W różnych przypadkach może być konieczne porównanie zawartości dwóch lub więcej dokumentów PDF lub porównanie wielu wersji tego samego dokumentu. Możemy łatwo programowo porównywać dokumenty PDF, aby zidentyfikować podobieństwa i różnice. W tym artykule dowiemy się, jak porównywać pliki PDF za pomocą REST API w Python.

W tym artykule zostaną omówione następujące tematy:

REST API do porównywania plików PDF i Python SDK

Do porównywania dokumentów PDF będziemy używać Python SDK of GroupDocs.Comparison Cloud API. Pozwala porównać dwa lub więcej dokumentów w obsługiwanych formatach i znaleźć różnice. Zainstaluj go za pomocą następującego polecenia w konsoli:

pip install groupdocs_comparison_cloud

Proszę uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego przed wykonaniem wspomnianych kroków. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:

# Ten przykład kodu demonstruje, jak ustawić identyfikator klienta i klucz tajny.
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 = ""

Porównaj dwa pliki PDF za pomocą interfejsu API REST w języku Python

Możemy porównywać dokumenty PDF w chmurze, wykonując proste czynności podane poniżej:

  1. Prześlij pliki PDF do chmury
  2. [Porównaj pliki PDF](#Porównaj-Pliki-PDF-za pomocą-Python)
  3. Pobierz wynikowy plik PDF

Prześlij pliki PDF

Najpierw prześlemy źródłowy i docelowy plik PDF do chmury, korzystając z następującego przykładowego kodu:

# Ten przykład kodu demonstruje sposób przekazywania plików PDF do chmury.
# Utwórz instancję interfejsu API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# wgraj przykładowe pliki
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)

W rezultacie przesłane pliki będą dostępne w sekcji plików pulpitu nawigacyjnego w chmurze.

Porównaj pliki PDF za pomocą Python

Możemy programowo porównać dwa dokumenty PDF, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję klasy FileInfo.
  • Następnie ustaw ścieżkę źródłowego pliku PDF.
  • Następnie utwórz kolejną instancję pliku FileInfo.
  • Następnie ustaw docelową ścieżkę pliku PDF.
  • Następnie utwórz wystąpienie ComparisonOptions.
  • Następnie przypisz pliki źródłowe i docelowe.
  • Ustaw także ścieżkę pliku wyjściowego.
  • Następnie utwórz instancję obiektu ComparisonsRequest with ComparisonOptions
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.comparisons() z ComparisonsRequest jako argumentem.

Poniższy przykładowy kod pokazuje, jak porównać dwa pliki PDF przy użyciu interfejsu API REST w języku Python.

# Ten przykład kodu pokazuje, jak porównać dwa pliki PDF.
# Utwórz instancję interfejsu API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Wprowadź plik źródłowy
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Plik docelowy
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Zdefiniuj opcje porównania
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Utwórz prośbę o porównanie
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# porównywać
response = api_instance.comparisons(request)
Porównaj dwa pliki PDF za pomocą interfejsu API REST w języku Python

Porównaj dwa pliki PDF za pomocą interfejsu API REST w języku Python.

Wynikowy plik PDF zawiera również stronę podsumowania na końcu dokumentu, jak pokazano poniżej:

Strona podsumowania.

Strona podsumowania pokazująca całkowitą liczbę usuniętych lub wstawionych elementów.

Pobierz wynikowy plik

Powyższy przykładowy kod zapisze różnice w nowo utworzonym pliku PDF w chmurze. Można go pobrać, korzystając z następującego przykładowego kodu:

# Ten przykład kodu demonstruje, jak pobrać plik wynikowy.
# Utwórz instancję interfejsu API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Utwórz żądanie pobrania pliku
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# Pobieranie pliku
response = file_api.download_file(request)

# Przenieś pobrany plik do katalogu roboczego
shutil.move(response, "C:\\Files\\") 

Porównaj wiele plików PDF w Python

Możemy porównać wiele dokumentów PDF, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję FileInfo i ustaw ścieżkę źródłowego pliku PDF.
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku PDF.
  • Następnie powtórz powyższy krok, aby dodać więcej plików docelowych.
  • Następnie utwórz wystąpienie ComparisonOptions.
  • Następnie przypisz pliki źródłowe/docelowe i ustaw ścieżkę do pliku wyjściowego.
  • Następnie utwórz instancję obiektu ComparisonsRequest with ComparisonOptions
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.comparisons() z ComparisonsRequest jako argumentem.

Poniższy przykładowy kod pokazuje, jak porównać wiele plików PDF przy użyciu interfejsu API REST w języku Python.

# Ten przykład kodu pokazuje, jak porównać wiele plików PDF.
# Utwórz niezbędne instancje interfejsu API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Źródłowy plik PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Docelowy plik PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# Docelowy plik PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# Zdefiniuj opcje porównania
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# Utwórz prośbę o porównanie i porównaj
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Dostosuj wyniki porównania w Python

Możemy dostosować styl zmian znalezionych w wyniku procesu porównania, wykonując poniższe czynności:

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję FileInfo i ustaw ścieżkę źródłowego pliku PDF.
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku PDF.
  • Następnie utwórz instancję pliku Settings.
  • Następnie ustaw czułość porównania i różne właściwości, aby dostosować styl elementu.
  • Następnie utwórz wystąpienie ComparisonOptions.
  • Następnie przypisz pliki źródłowe/docelowe i ustaw ścieżkę do pliku wyjściowego.
  • Następnie utwórz instancję obiektu ComparisonsRequest with ComparisonOptions
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.comparisons() z ComparisonsRequest jako argumentem.

Poniższy przykładowy kod pokazuje, jak dostosować wyniki porównania przy użyciu interfejsu API REST w języku Python.

# Ten przykład kodu demonstruje, jak cDostosować wyniki porównania.
# Utwórz niezbędne instancje interfejsu API
api_instance = groupdocs_comparison_cloud.PorównywaćApi.from_keys(client_id, client_secret)

# Źródłowy plik PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Docelowy plik PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()

# Porównaj czułość
settings.sensitivity_of_comparison = 100

# Dostosuj style do zmian
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

# Zdefiniuj opcje porównania
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Utwórz prośbę o porównanie
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Porównywać
response = api_instance.comparisons(request)

Pobierz listę zmian w Python

Możemy uzyskać listę wszystkich zmian znalezionych podczas porównywania plików PDF, wykonując poniższe czynności:

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję FileInfo i ustaw ścieżkę źródłowego pliku PDF.
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku PDF.
  • Następnie utwórz wystąpienie ComparisonOptions.
  • Następnie przypisz pliki źródłowe/docelowe i ustaw ścieżkę do pliku wyjściowego.
  • Następnie utwórz instancję obiektu PostChangesRequest z ComparisonOptions
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.post\changes() z ComparisonsRequest jako argumentem.

Poniższy przykładowy kod pokazuje, jak uzyskać listę zmian przy użyciu interfejsu API REST w języku Python.

# Ten przykład kodu demonstruje, jak uzyskać listę wszystkich zmian.
# Utwórz niezbędne instancje interfejsu API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Źródłowy plik PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Docelowy plik PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Zdefiniuj opcje porównania
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Utwórz prośbę o zmiany postów
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Opublikuj zmiany
response = api_instance.post_changes(request)

# Wyświetl zmiany
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
Pobierz listę zmian w Python

Pobierz listę zmian w Python.

Porównaj i zapisz z hasłem i metadanymi w Python

Możemy zabezpieczyć hasłem wynikowy plik i zapisać go z metadanymi, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję CompareApi.
  • Następnie utwórz instancję FileInfo i ustaw ścieżkę źródłowego pliku PDF.
  • Następnie utwórz kolejną instancję FileInfo i ustaw docelową ścieżkę pliku PDF.
  • Następnie utwórz instancję pliku Settings.
  • Następnie utwórz instancję Metadata.
  • Następnie ustaw różne właściwości metadanych, takie jak autor, firma, ostatni\zapisz\do itp.
  • Następnie ustaw hasło i hasło\zapisz\opcje.
  • Następnie utwórz wystąpienie ComparisonOptions.
  • Następnie przypisz pliki źródłowe/docelowe i ustaw ścieżkę do pliku wyjściowego.
  • Następnie utwórz instancję obiektu ComparisonsRequest with ComparisonOptions
  • Na koniec uzyskaj wyniki, wywołując metodę CompareApi.comparisons() z ComparisonsRequest jako argumentem.

Poniższy przykładowy kod pokazuje, jak zapisać wynikowy plik z hasłem i metadanymi przy użyciu interfejsu API REST w języku Python.

# Ten przykład kodu demonstruje, jak zapisać wynikowy plik z hasłem i metadanymi.
# Utwórz niezbędne instancje interfejsu API
api_instance = groupdocs_comparison_cloud.PorównywaćApi.from_keys(client_id, client_secret)

# Źródłowy plik PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Docelowy plik PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# Ustaw metadane
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"

# Zdefiniuj opcje porównania
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Utwórz prośbę o porównanie
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Porównywać
response = api_instance.comparisons(request)

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzie do porównywania plików PDF online, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/comparison/pdf

Wniosek

W tym artykule dowiedzieliśmy się, jak porównywać dokumenty PDF w chmurze. Widzieliśmy również, jak porównać wiele plików PDF, dostosować styl zmian i uzyskać listę zmian w Python. W tym artykule wyjaśniono również, jak programowo przesłać wiele plików PDF do chmury, a następnie pobrać wynikowy plik z chmury. Poza tym możesz dowiedzieć się więcej o GroupDocs.Comparison Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też