Hablemos de PDS, ¿cómo los procesamos?
Quiero decir, hemos aprendido a trabajar con archivos en nuestra sección anterior con Python y puedes imaginar que podemos trabajar
con cualquier archivo que hayamos aprendido sobre el procesamiento de imágenes, pero también
hemos aprendido que podemos simplemente manipular cualquier archivo de texto. , cualquier archivo PDF, cualquier archivo CSV o Excel.
Todos estos son solo tipos de archivos con los que podemos procesar y trabajar en Python.
En esta sección, hablaremos sobre PDF y cómo podría funcionar, y este conocimiento de PDF se transferirá a
diferentes formatos de archivo.
Ahora hablaremos de archivos XML y archivos CSV más adelante en el curso cuando entremos en el aprendizaje
automático.
Pero por ahora, trabajemos con PDF y veamos cómo podemos usar Python para hacernos la vida más fácil.
Ahora voy a vincular algunos archivos PDF que tenemos aquí y que vamos a usar en esta sección.
Tenemos un simple archivo PDF ficticio.
Tenemos otro archivo PDF que en realidad tiene dos páginas.
Y luego tenemos un PDF de marca de agua, que vamos a guardar para nuestro proyecto final en la sección.
Pero volvamos aquí.
De lo que hemos aprendido hasta ahora, ¿cuál crees que es nuestro primer paso?
Bueno, nuestro primer paso es encontrar una biblioteca que podamos usar con Python para procesar archivos PDF.
Y prepárate para esta sección.
Tengo un sitio web realmente impresionante, probablemente el mejor sitio web que haya visto, probablemente el sitio web más limpio y
moderno en lo que respecta al paquete que estamos instalando.
Estamos instalando algo llamado instalación PIP tres.
P y pdf.
Hasta ahora, hay muchos paquetes que podemos instalar cuando se trata de PDS, este es el que recomiendo
para el curso.
Ahora, mientras esto se está instalando en mi caso, ya está instalado, permítanme mostrarles cómo se ve la documentación
de su sitio web.
Prepararse.
Es bonito.
Aquí está.
Vaya, cierto.
No sé por qué, pero por alguna razón, los sitios web de documentación de Python no son los más bonitos.
Quiero decir, todo esto es subjetivo, ¿verdad?
A algunas personas les gusta esto, pero simplemente no te entusiasma trabajar con PDF.
Este sitio web lo hace de todos modos.
Puedes ver aquí que en realidad no es una biblioteca tan grande.
Y puede hacer clic en la documentación y nuevamente, leer todo, pero aprendamos los conceptos
básicos.
Entonces, lo primero que voy a hacer es importar también el PDF de Peahi.
Y lo que vamos a hacer es trabajar con el primero, el PDF ficticio, que es solo este archivo PDF.
Esa es una sola página que dice archivo PDF ficticio.
Nada demasiado emocionante.
Ahora bien, ¿cómo podemos abrir este archivo?
Sabemos esto por lecciones anteriores, ¿verdad?
Podemos usar eso con el comando open y diremos dummy dot PDF.
Y puedo decirlo así porque estamos en la misma carpeta.
Tengo un archivo PDF que he creado, así que solo digo, oye, toma el PDF ficticio del mismo directorio.
Y aquí, por ahora solo para leer, porque quiero leer el archivo y luego solo
decir como archivo y por ahora imprimir archivo para ver qué obtenemos, voy a ejecutar este archivo diciendo Python tres archivo PDF.
Veamos qué pasa.
Muy bien, recibo un texto de rapero llamado Dommy PDF.
Muy bien, parece que está funcionando.
Exploremos esto un poco más para ver si realmente está funcionando.
Lo que podemos hacer es usar ese PDF para leer el archivo, entonces.
Hagamos esto, podemos decir que Reider es igual a PI pdf y usamos el método PDF.
Lector de archivos.
Nuevamente, nos permite leer este archivo de Python.
Así que démosle un archivo aquí.
Y luego solo imprimiremos el lector y podremos pedir algunas páginas.
Nuevamente, esto viene con la biblioteca, así que ejecutemos esto y veamos qué sucede.
Muy bien, llegamos allí, dice advertencia de lectura de PDF El objeto de archivo de flujo del lector de archivos PDF no
está en modo binario.
¿Qué significa eso?
Bueno, recuerda, el binario es unos y ceros, ¿verdad?
Si hago clic en Dummies.
PDF falsificado.
Este no es el PDF que pensamos. Así es como debería verse un PDF, pero, según el programa que esté ejecutando,
es posible que no pueda leer el archivo PDF.
Entonces, lo que debemos hacer, y esto es solo un estándar que debe recordar, es que queremos
leer el binario.
Entonces es leído y luego binario.
Entonces, lo que sucede aquí es que esto crea un objeto de flujo de archivos.
Entonces va a convertir el objeto de archivo a modo binario.
De modo que el PDF de hoyo al lector de archivos.
Puede leer este objeto de archivo binario.
Entonces, si ejecuto esto nuevamente, mire eso, es capaz de leerlo y me dice que esto tiene una página,
si hago un PDF de dos páginas y ejecuto esto.
Tenemos dos páginas, genial.
Aclaremos esto.
Y vuelve a nuestro PDF.
Me siento mal por nombrar este PDF ficticio, no debería ser cruel con este PDF.
Trabajaré en mis convenciones de nomenclatura la próxima vez.
Así que, al igual que vimos en el procesamiento de imágenes con Bill PDF, podemos hacer muchas cosas para procesar esta
imagen.
Por ejemplo, puedo ponerme más parcheado, y si obtengo la página, digamos la primera página y ejecuto esto.
Obtenemos el objeto de la página aquí.
Ahora, parece un galimatías aquí porque, bueno, este es un objeto especial que crea PDF, pero si hago algo como
la página uno, que será la página dos en este caso.
Recibo un aire de un indexador que dice que el índice de la lista está fuera de rango porque el PDF ficticio solo tiene una página.
También podemos hacer diferentes cosas como, por ejemplo, rotar esta imagen y la rotaremos ciento
ochenta grados.
Si ejecuto esto.
Esto no funciona.
Ahora, ¿por qué es esto?
Es porque PIDF también usa el objeto lector, pero necesita saber qué rotar.
En nuestro caso, en realidad tenemos que conseguir que la página del lector la gire.
Entonces tenemos que hacer algo como lector de puntos, obtener la página, obtener la primera página de nuestro PDF.
Y asigne esto a la variable de página para que ahora que tenemos el objeto de página, recuerde un objeto de página y un
objeto de lector.
Ejecute por última vez este welp, obtengo que el objeto de la página no tiene ningún atributo rotar, y es posible que le haya engañado un poco para probar
un punto aquí.
Ahora, este objeto giratorio suena como algo que debería tener, pero en realidad no es el nombre correcto
que queremos.
Entonces, ¿cómo podemos resolver esto?
Y esto nos devuelve a la lectura de la documentación.
Si vuelvo al lector de archivos y busquemos, rotamos o retrocedamos aquí, vemos que tenemos la clase de objeto
de página, que es la correcta.
Tenemos el objeto de la página.
Si hago clic aquí, busquemos rotar.
Y tenemos algunas cosas que hemos combinado, rotar página, seguimos, seguimos, seguimos.
Y está bien, hemos rotado en sentido horario, rotamos en sentido antihorario y el ángulo.
Entonces parece que esto es lo que necesitamos.
En realidad, no tenemos un método de rotación.
Pero aquí ve, así es como averiguamos lo que hace la biblioteca.
También tenemos escala para escalar si quisiéramos.
Así que copiemos, giremos en el sentido de las agujas del reloj o giremos en el sentido contrario a las agujas del reloj.
Y solo haremos 90.
Si guardo esto y ejecuto, está bien, obtenemos un objeto aquí, pero este objeto está en la memoria.
Si vuelvo a mi muñeco, nada ha cambiado porque realmente no hemos guardado nada.
Todo esto está en la memoria de mi computadora.
Cuando este programa deja de ejecutarse, bueno, se destruye.
Así que actualice nuestro PDF ficticio para que realmente escriba y gire en sentido antihorario.
¿Cómo podemos hacer eso?
Bueno, con otro con teclado.
Así que dentro de con abierto vamos a decir con abierto y lo llamaremos, digamos, torcido.
No sé si así es como se deletrea cricket, así que vayamos con Tilt Dot PDF.
Y vamos a abrir este archivo y vamos a escribir en este archivo en formato binario.
Y vamos a decir como archivo.
Y aquí, vamos a escribir el archivo.
A este nuevo archivo, pero ¿cómo podemos hacer esto?
Esta biblioteca nos da algo llamado objeto de escritura para que podamos crear una variable de escritura y esta
variable de escritura usará la API pdf dot pdf en lugar de un lector de archivos.
Tenemos un archivo.
Escritor.
Y esto nos permite corregir el objeto en la memoria para que ahora pueda decir escritor.
Dot, ¿verdad?
Y solo para que la convención de nomenclatura sea apropiada, digamos que este será el nuevo FA, así que diremos
nuevo archivo, así que veamos si esto funciona y se aclara.
Y ejecutemos esto.
Muy bien, hemos inclinado ese PDF.
Pero en realidad nos olvidamos de hacer una cosa porque acabamos de abrir un objeto de escritura, pero en realidad no estamos
escribiendo ningún PDF en él.
Idealmente, obtenemos la página rotada y justo dentro de ella.
Derecha.
Así que lo que podemos hacer.
Es quitar la impresión aquí.
Hemos rotado la página.
Y con el objeto de escritor que tenemos ahora, podemos decir la página del anuncio de punto del escritor y darle la página que
hemos rotado.
Así que ahora, si ejecuto esto una vez más.
Y ve a tilt.
Bueno, de nuevo, vemos jibberish aquí.
Pero si abrimos este.
Mire eso, nuestro PDF se rota así.
Muy muy genial.
Entonces eso es genial, pero un poco inútil, ¿verdad?
¿Quién realmente rota PDF?
Así que eso es realmente difícil de leer, pero al menos esto le muestra la capacidad que tenemos para procesar velocidades.
Trabajemos en algo más emocionante en el siguiente video, quiero que hagamos algo un poco más útil
que esto.
Así que tomemos un descanso y nos vemos en el próximo.