Parliamo di PDS, come li elaboriamo?
Voglio dire, abbiamo imparato a lavorare con i file nella nostra sezione precedente con Python e puoi immaginare che
possiamo lavorare con qualsiasi file che abbiamo imparato sull'elaborazione delle immagini, ma abbiamo
anche imparato che possiamo semplicemente manipolare qualsiasi file di testo , qualsiasi file PDF, qualsiasi file CSV o Excel.
Questi sono solo tipi di file che possiamo elaborare e utilizzare in Python.
In questa sezione parleremo di PDF e di come potrebbe funzionare e questa conoscenza del PDF verrà trasferita in
diversi formati di file.
Ora parleremo dei file XML e dei file CSV più avanti nel corso quando entreremo nell'apprendimento
automatico.
Ma per ora, lavoriamo con PDF e vediamo come possiamo usare Python per semplificarci la vita.
Ora collegherò alcuni file PDF che abbiamo qui che useremo in questa sezione.
Abbiamo un semplice file PDF fittizio.
Abbiamo un altro file PDF che in realtà ha due pagine.
E poi abbiamo un PDF filigranato, che salveremo per il nostro progetto finale nella sezione.
Ma torniamo qui.
Da quello che abbiamo imparato finora, quale pensi che sia il nostro primo passo?
Bene, il nostro primo passo è trovare una libreria che possiamo usare con Python per elaborare i file PDF.
E preparati per questa sezione.
Ho un sito Web davvero impressionante, probabilmente il miglior sito Web che tu abbia mai visto, probabilmente il sito Web più
pulito e moderno quando si tratta del pacchetto che stiamo installando.
Stiamo installando qualcosa chiamato installazione PIP tre.
P y pdf.
Al momento, ci sono molti pacchetti che possiamo installare quando si tratta di PDS, questo è quello che
consiglio per il corso.
Ora, mentre questo si sta installando nel mio caso, è già installato, lascia che ti mostri come appare la documentazione
del loro sito web.
Preparati.
È carino.
Ecco qui.
Wow, giusto.
Non so perché, ma per qualche ragione, i siti Web di documentazione di Python non sono i più belli.
Voglio dire, tutto questo è soggettivo, giusto?
Ad alcune persone piace questo, ma non ti entusiasma all'idea di lavorare con i PDF.
Questo sito lo fa comunque.
Puoi vedere qui che in realtà non è una biblioteca così grande.
E puoi fare clic sulla documentazione e di nuovo, leggere tutto, ma impariamo solo le
basi.
Quindi la prima cosa che farò è importare anche Peahi PDF.
E quello che faremo è lavorare con il primo, il PDF fittizio, che è solo questo file PDF.
Questa è una singola pagina che dice file PDF fittizio.
Niente di troppo eccitante.
Ora, come possiamo aprire questo file?
Lo sappiamo dalle lezioni precedenti, giusto?
Possiamo usarlo con il comando open e diremo fittizio punto PDF.
E posso dirlo così perché siamo nella stessa cartella.
Ho un file PDF che ho creato, quindi sto solo dicendo, ehi, prendi il PDF fittizio dalla stessa directory.
E qui, per ora leggiamo solo, perché voglio leggere il file e poi dire
semplicemente come file e per ora stampare file per vedere cosa otteniamo, eseguirò questo file dicendo Python tre file PDF.
Vediamo cosa succede.
Va bene, ricevo un rapper di testo con il nome di Dommy PDF.
Va bene, sembra che funzioni.
Esploriamolo un po' di più per vedere che funziona davvero.
Quello che possiamo fare è effettivamente usare quel PDF per leggere il file, quindi.
Facciamo così, possiamo dire che Reider è uguale a PI pdf e usare il metodo PDF.
Lettore di file.
Ancora una volta, ci consente di leggere questo file python.
Quindi diamo il file qui dentro.
E poi stamperemo il lettore e possiamo chiedere un numero di pagine.
Di nuovo, questo viene fornito con la libreria, quindi eseguiamo questo e vediamo cosa succede.
Va bene, ci arriviamo, si dice avviso lettura PDF L'oggetto file di flusso del lettore di file PDF non
è in modalità binaria.
Che cosa significa?
Bene, ricorda, il binario è uno e zero, giusto?
Se clicco su Dummies.
PDF falsificato.
Questo non è il PDF che pensavamo fosse così che dovrebbe apparire un PDF, ma vedi, a seconda del programma che stai utilizzando,
potrebbe non essere in grado di leggere il file PDF.
Quindi quello che dobbiamo fare, e questo è solo uno standard che devi ricordare, è che vogliamo
leggere il binario.
Quindi è letto e quindi binario.
Quindi quello che succede qui è che questo crea un oggetto flusso di file.
Quindi convertirà l'oggetto file in modalità binaria.
In modo che il lettore di file PDF di fossa.
Può leggere questo oggetto file binario.
Quindi ora se lo eseguo di nuovo, guarda quello, è in grado di leggerlo e mi dice che ha
una pagina, se faccio PDF di due pagine ed eseguo questo.
Otteniamo due pagine, fantastico.
Chiariamo questo.
E torna al nostro PDF.
Mi sento in colpa per aver chiamato questo PDF fittizio, non dovrei essere cattivo con questo PDF.
La prossima volta lavorerò sulle mie convenzioni di denominazione.
Quindi, proprio come abbiamo visto nell'elaborazione delle immagini con Bill PDF, possiamo fare molte cose per elaborare questa immagine.
Ad esempio, posso ottenere patchier e se ottengo la pagina, diciamo la prima pagina e la eseguo.
Otteniamo l'oggetto pagina qui.
Ora, sembra incomprensibile qui perché, beh, questo è un oggetto speciale che crea PDF, ma se faccio qualcosa come la
pagina uno, che sarà la pagina due in questo caso.
Mi viene un'aria da un indicizzatore che dice che l'indice dell'elenco è fuori portata perché il PDF fittizio ha solo una pagina.
Possiamo anche fare cose diverse come, ad esempio, ruotare questa immagine e la ruoteremo di
centottanta gradi.
Se eseguo questo.
Questo non funziona.
Ora, perché è questo?
È perché anche PIDF usa l'oggetto lettore, ma ha bisogno di sapere cosa ruotare.
Nel nostro caso, dobbiamo effettivamente far ruotare la pagina del lettore.
Quindi dobbiamo fare qualcosa come punto lettore, ottenere pagina, ottenere la prima pagina del nostro PDF.
E assegnalo alla variabile pagina in modo che ora che abbiamo l'oggetto pagina, ricordi un oggetto pagina e un
oggetto lettore.
Esegui questo welp finale, ottengo che l'oggetto della pagina non ha attributo di rotazione e potrei averti ingannato un po' per dimostrare
un punto qui.
Ora, questo oggetto rotante suona come qualcosa che dovrebbe avere, ma in realtà non è il nome giusto
che vogliamo.
Quindi come possiamo risolverlo?
E questo ci riporta alla lettura della documentazione.
Se torno al lettore di file e cerchiamo, ruotiamo o torniamo qui, vediamo che abbiamo la classe
dell'oggetto pagina, che abbiamo ragione.
Abbiamo l'oggetto pagina.
Se clicco qui, troviamo ruotare.
E abbiamo alcune cose che abbiamo unito ruotano pagina, continuiamo, continuiamo, continuiamo.
E va bene, abbiamo ruotare in senso orario, ruotare in senso antiorario e l'angolo.
Quindi sembra che questo sia ciò di cui abbiamo bisogno.
In realtà non abbiamo un metodo di rotazione.
Ma vedete qui, è così che scopriamo cosa fa la biblioteca.
Abbiamo anche una scala da scalare, se lo volessimo.
Quindi copiamo, ruotiamo in senso orario o ruotiamo in senso antiorario.
E faremo solo 90.
Se lo salvo ed eseguo, d'accordo, otteniamo un oggetto qui, ma questo oggetto è in realtà in memoria.
Se torno al mio manichino, non è cambiato nulla perché non abbiamo davvero salvato nulla.
Questo è tutto nella memoria del mio computer.
Quando questo programma smette di funzionare, beh, viene cestinato.
Quindi aggiorniamo il nostro PDF fittizio per scrivere e ruotare effettivamente in senso antiorario.
Come possiamo farlo?
Bene, con un altro con tastiera.
Quindi all'interno di con open diremo con Open e lo chiameremo, diciamo, storto.
Non so se è così che si scrive cricket, quindi andiamo con PDF tilt dot.
E apriremo questo file e scriveremo su questo file in formato binario.
E diremo come file.
E qui dentro, scriveremo il file.
A questo nuovo file, ma come possiamo farlo?
Questa libreria ci fornisce qualcosa chiamato oggetto writer in modo che possiamo creare una variabile writer e
questa variabile writer utilizzerà l'API pdf dot pdf invece di un lettore di file.
Abbiamo un file.
Scrittore.
E questo ci permette di raddrizzare l'oggetto in memoria in modo che ora possa dire scrittore.
Punto, giusto?
E solo per rendere appropriata la convenzione di denominazione, diciamo che questo sarà il nuovo FA, quindi
diremo nuovo file, quindi vediamo se funziona e si risolverà.
Ed eseguiamo questo.
Va bene, abbiamo inclinato quel PDF.
Ma in realtà ci siamo dimenticati di fare una cosa perché abbiamo appena aperto un oggetto writer, ma in realtà non ci
stiamo scrivendo alcun PDF.
Idealmente, otteniamo la pagina ruotata e proprio al suo interno.
Destra.
Quindi cosa possiamo fare.
È rimuovere la stampa qui.
Abbiamo ruotato la pagina.
E con l'oggetto writer che abbiamo ora, possiamo dire writer punto ad page e dargli la pagina che abbiamo
ruotato.
Quindi ora se lo eseguo un'altra volta.
E vai in tilt.
Bene, di nuovo, qui vediamo jibberish.
Ma se apriamo questo.
Guarda, il nostro PDF viene ruotato proprio così.
Molto, molto cool.
Quindi è fantastico, ma un po' inutile, giusto?
Chi ruota davvero il PDF?
Quindi è davvero difficile da leggere, ma almeno questo mostra la nostra capacità di elaborare le velocità.
Lavoriamo su qualcosa di più eccitante nel prossimo video, voglio che facciamo qualcosa di un po' più utile
di questo.
Quindi facciamo una pausa e ci vediamo alla prossima.