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
- Porównaj dwa pliki PDF za pomocą interfejsu API REST w języku Python
- Porównaj wiele plików PDF w Python
- Dostosuj wyniki porównania w Python
- Pobierz listę zmian w Python
- Porównaj i zapisz z hasłem i metadanymi w Python
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:
- Prześlij pliki PDF do chmury
- [Porównaj pliki PDF](#Porównaj-Pliki-PDF-za pomocą-Python)
- 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)
Wynikowy plik PDF zawiera również stronę podsumowania na końcu dokumentu, jak pokazano poniżej:
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));
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.