PDF(Portable Document Format) è uno dei tipi di file più comunemente usati oggi. Tipicamente utilizzato per distribuire documenti di sola lettura, preservando il layout di una pagina. In vari casi, potrebbe essere necessario confrontare i contenuti di due o più documenti PDF o confrontare più versioni dello stesso documento. Possiamo facilmente confrontare i documenti PDF a livello di codice per identificare somiglianze e differenze. In questo articolo impareremo come confrontare i file PDF utilizzando un’API REST in Python.
In questo articolo saranno trattati i seguenti argomenti:
- API REST per confrontare file PDF e Python SDK
- Confronta due file PDF utilizzando un’API REST in Python
- Confronta più file PDF in Python
- Personalizza i risultati del confronto in Python
- Ottieni l’elenco delle modifiche in Python
- Confronta e salva con password e metadati in Python
API REST per confrontare file PDF e Python SDK
Per confrontare i documenti PDF, utilizzeremo l’API Python SDK of GroupDocs.Comparison Cloud. Ti permette di confrontare due o più documenti dei formati supportati e trovare le differenze. Si prega di installarlo utilizzando il seguente comando nella console:
pip install groupdocs_comparison_cloud
Si prega di ottenere l’ID cliente e il segreto dalla dashboard prima di seguire i passaggi menzionati. Una volta che hai il tuo ID e segreto, aggiungi il codice come mostrato di seguito:
# Questo esempio di codice mostra come impostare l'ID client e il segreto.
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 = ""
Confronta due file PDF utilizzando un’API REST in Python
Possiamo confrontare i documenti PDF sul cloud seguendo i semplici passaggi indicati di seguito:
- Carica i file PDF nel cloud
- Confronta file PDF
- Scarica il file PDF risultante
Carica i file PDF
In primo luogo, caricheremo i file PDF di origine e di destinazione nel cloud utilizzando il seguente esempio di codice:
# Questo esempio di codice mostra come caricare file PDF nel cloud.
# Crea un'istanza dell'API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# caricare file di esempio
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)
Di conseguenza, i file caricati saranno disponibili nella sezione file della dashboard sul cloud.
Confronta i file PDF usando Python
Possiamo confrontare due documenti PDF a livello di codice seguendo i passaggi indicati di seguito:
- Innanzitutto, crea un’istanza di CompareApi.
- Successivamente, crea un’istanza di FileInfo.
- Quindi, imposta il percorso del file PDF di origine.
- Successivamente, crea un’altra istanza di FileInfo.
- Quindi, imposta il percorso del file PDF di destinazione.
- Successivamente, crea un’istanza di ComparisonOptions.
- Quindi, assegna i file di origine e di destinazione.
- Inoltre, imposta il percorso del file di output.
- Successivamente, crea un’istanza dell’oggetto ComparisonsRequest con ComparisonOptions
- Infine, ottieni risultati chiamando il metodo CompareApi.comparisons() con ComparisonsRequest come argomento.
L’esempio di codice seguente mostra come confrontare due file PDF usando un’API REST in Python.
# Questo esempio di codice mostra come confrontare due file PDF.
# Crea un'istanza dell'API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# File sorgente di input
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# File di destinazione
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
# Definire le opzioni di confronto
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
# Crea richiesta di confronto
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# confrontare
response = api_instance.comparisons(request)
Il file PDF risultante contiene anche una pagina di riepilogo alla fine del documento, come mostrato di seguito:
Scarica il file risultante
L’esempio di codice precedente salverà le differenze in un file PDF appena creato sul cloud. Può essere scaricato utilizzando il seguente esempio di codice:
# Questo esempio di codice illustra come scaricare il file risultante.
# Crea un'istanza dell'API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# Crea richiesta di download del file
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)
# Download file
response = file_api.download_file(request)
# Sposta il file scaricato nella tua directory di lavoro
shutil.move(response, "C:\\Files\\")
Confronta più file PDF in Python
Possiamo confrontare più documenti PDF seguendo i passaggi indicati di seguito:
- Innanzitutto, crea un’istanza di CompareApi.
- Successivamente, crea un’istanza di FileInfo e imposta il percorso del file PDF di origine.
- Quindi, crea un’altra istanza di FileInfo e imposta il percorso del file PDF di destinazione.
- Successivamente, ripetere il passaggio precedente per aggiungere altri file di destinazione.
- Successivamente, crea un’istanza di ComparisonOptions.
- Quindi, assegna i file di origine/destinazione e imposta il percorso del file di output.
- Successivamente, crea un’istanza dell’oggetto ComparisonsRequest con ComparisonOptions
- Infine, ottieni risultati chiamando il metodo CompareApi.comparisons() con ComparisonsRequest come argomento.
L’esempio di codice seguente mostra come confrontare più file PDF usando un’API REST in Python.
# Questo esempio di codice dimostra come confrontare più file PDF.
# Crea le istanze API necessarie
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# Fonte PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# PDF di destinazione 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"
# PDF di destinazione 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"
# Definire le opzioni di confronto
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"
# Crea richiesta di confronto e confronta
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)
Personalizza i risultati del confronto in Python
Possiamo personalizzare lo stile delle modifiche trovate nel risultato del processo di confronto seguendo i passaggi indicati di seguito:
- Innanzitutto, crea un’istanza di CompareApi.
- Successivamente, crea un’istanza di FileInfo e imposta il percorso del file PDF di origine.
- Quindi, crea un’altra istanza di FileInfo e imposta il percorso del file PDF di destinazione.
- Successivamente, crea un’istanza del file Settings.
- Quindi, imposta la sensibilità di confronto e varie proprietà per personalizzare lo stile dell’elemento.
- Successivamente, crea un’istanza di ComparisonOptions.
- Quindi, assegna i file di origine/destinazione e imposta il percorso del file di output.
- Successivamente, crea un’istanza dell’oggetto ComparisonsRequest con ComparisonOptions
- Infine, ottieni risultati chiamando il metodo CompareApi.comparisons() con ComparisonsRequest come argomento.
L’esempio di codice seguente mostra come personalizzare i risultati del confronto usando un’API REST in Python.
# Questo esempio di codice illustra come personalizzare i risultati del confronto.
# Crea le istanze API necessarie
api_instance = groupdocs_comparison_cloud.ConfrontareApi.from_keys(client_id, client_secret)
# Fonte PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# PDF di destinazione
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
settings = groupdocs_comparison_cloud.Settings()
# Confronta la sensibilità
settings.sensitivity_of_comparison = 100
# Personalizza gli stili per le modifiche
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
# Definire le opzioni di confronto
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings
# Crea richiesta di confronto
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# Confrontare
response = api_instance.comparisons(request)
Ottieni l’elenco delle modifiche in Python
Possiamo ottenere un elenco di tutte le modifiche rilevate durante il confronto dei file PDF seguendo i passaggi indicati di seguito:
- Innanzitutto, crea un’istanza di CompareApi.
- Successivamente, crea un’istanza di FileInfo e imposta il percorso del file PDF di origine.
- Quindi, crea un’altra istanza di FileInfo e imposta il percorso del file PDF di destinazione.
- Successivamente, crea un’istanza di ComparisonOptions.
- Quindi, assegna i file di origine/destinazione e imposta il percorso del file di output.
- Successivamente, crea un’istanza dell’oggetto PostChangesRequest con ComparisonOptions
- Infine, ottieni risultati chiamando il metodo CompareApi.post\changes() con ComparisonsRequest come argomento.
L’esempio di codice seguente mostra come ottenere un elenco di modifiche usando un’API REST in Python.
# Questo esempio di codice mostra come ottenere l'elenco di tutte le modifiche.
# Crea le istanze API necessarie
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# Fonte PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# PDF di destinazione
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
# Definire le opzioni di confronto
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
# Crea una richiesta di modifica post
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Pubblica modifiche
response = api_instance.post_changes(request)
# Visualizza le modifiche
for change in response:
print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
Confronta e salva con password e metadati in Python
Possiamo proteggere con password il file risultante e salvarlo con i metadati seguendo i passaggi indicati di seguito:
- Innanzitutto, crea un’istanza di CompareApi.
- Successivamente, crea un’istanza di FileInfo e imposta il percorso del file PDF di origine.
- Quindi, crea un’altra istanza di FileInfo e imposta il percorso del file PDF di destinazione.
- Successivamente, crea un’istanza del file Settings.
- Quindi, crea un’istanza di Metadata.
- Successivamente, imposta varie proprietà dei metadati come autore, azienda, last\save\by, ecc.
- Quindi, imposta password e password\save\options.
- Successivamente, crea un’istanza di ComparisonOptions.
- Quindi, assegna i file di origine/destinazione e imposta il percorso del file di output.
- Successivamente, crea un’istanza dell’oggetto ComparisonsRequest con ComparisonOptions
- Infine, ottieni risultati chiamando il metodo CompareApi.comparisons() con ComparisonsRequest come argomento.
L’esempio di codice seguente mostra come salvare il file risultante con una password e metadati usando un’API REST in Python.
# Questo esempio di codice illustra come salvare il file risultante con una password e metadati.
# Crea le istanze API necessarie
api_instance = groupdocs_comparison_cloud.ConfrontareApi.from_keys(client_id, client_secret)
# Fonte PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# PDF di destinazione
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
settings = groupdocs_comparison_cloud.Settings()
# Imposta i metadati
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"
# Definire le opzioni di confronto
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings
# Crea richiesta di confronto
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# Confrontare
response = api_instance.comparisons(request)
Prova in linea
Prova il seguente strumento di confronto PDF online gratuito, sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/comparison/pdf
Conclusione
In questo articolo, abbiamo imparato a confrontare i documenti PDF sul cloud. Abbiamo anche visto come confrontare più file PDF, personalizzare lo stile delle modifiche e ottenere un elenco delle modifiche in Python. Questo articolo spiega anche come caricare in modo programmatico più file PDF nel cloud e quindi scaricare il file risultante dal cloud. Inoltre, puoi saperne di più su GroupDocs.Comparison Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di qualsiasi ambiguità, non esitate a contattarci sul forum.