Quiero automatizar una tarea diaria, necesito cierta información de pdf para acceder a áreas específicas de un archivo de Excel

Estoy trabajando en una startup y me gustaría automatizar una de mis tareas diarias.

Actualmente recibimos pedidos de 3 distribuidores diferentes en formato PDF o página web y debo tomar parte de la información de esos pedidos PDF/página web y colocarlos en un archivo de Excel en lugares específicos, actualmente estoy copiando y pegando para hacer esto pero Espero encontrar una manera de automatizar esto, quizás usando scripts.

Tengo algo de experiencia en desarrollo web y JavaScript, así que estoy de acuerdo si esto implicará algo de codificación de mi parte para hacer esto, pero pensé que podría obtener algunos consejos sobre las vías que podría probar, ya que nunca he intentado nada de esta naturaleza. o saber si hay algún software relativamente económico ($ 100 - $ 1000) que ya está haciendo algo como esto?

¿Hay algo que deba saber al embarcarme en la investigación sobre cómo lograr esto, alguna vía que sugiera sobre cómo resolver el problema de la manera más eficiente y fácil?

¡Cualquier información sería muy apreciada!

¿Está hablando específicamente de datos de formularios PDF en lugar de escaneos de PDF?
Son archivos PDF normales, así que supongo que son solo escaneos.
Configure la página web para que use PHP o jQuery para almacenar los datos directamente en una base de datos. Luego conéctese a través de odbc a la base de datos en Excel. Eso solo resuelve 1 problema.

Respuestas (1)

Planteamiento del problema

Básicamente, su espacio problemático se resuelve en 3, posiblemente 4, pasos:

  1. Recibiendo el pedido: supongo que podría ser un correo electrónico.
  2. Extraer los datos correctos del PDF si está en ese formato
  3. Extraer los datos correctos de un formato de página web si eso
  4. Insertar los datos extraídos en la hoja de cálculo de Excel

Las herramientas que usaría para resolver esto en el mundo de Python .

Obtener los archivos "Pedido"

Dado que no está especificando cómo recibe los pedidos, asumiré que llegan por correo electrónico, python tiene varios clientes de correo electrónico disponibles, incluido un módulo de correo electrónico incorporado, abundan los ejemplos de cómo interactuar con los servidores de correo. Sin embargo, dado que manifiestamente obtiene los datos de alguna manera, dejaré cómo automatizar eso para otra pregunta.

Extracto de PDF

Dentro del ecosistema de Python hay una serie de herramientas de manipulación de PDF, pero probablemente la mejor opción para esto es PDFMiner.Six, que se especializa en la extracción de texto, incluida la ubicación exacta de los textos en una página. Puede encontrar un ejemplo del uso de PDFMiner en SO aquí .

Extracto de la página web, (HTML)

Casi todos en el mundo de Python que necesitan analizar datos html recurren a BeautifulSoup4 , que puede analizar casi cualquier página web (incluso las mal formadas) para extraer los datos. Presumiblemente, los datos que necesita extraer están en campos con nombre dentro de la página; si es así, encontrará que son fáciles de extraer.

Insertar en Excel

Dependiendo de si necesita archivos XLSX de Excel 2010 o archivos XLS compatibles con Excel 97/2000/XP/2003 , encontrará las herramientas que necesita para crear y manipular archivos de Excel en openpyxl o, para el formato de archivo anterior, XLWT / XLRD / XLUTIL .

Una de las cosas buenas de estos es que no requieren una copia de Excel para crear o manipular el contenido de los archivos de Excel.

Precio y disponibilidad

Todas las herramientas anteriores son gratuitas, gratuitas y de código abierto, y son multiplataforma, por lo que se pueden instalar en casi cualquier cosa, desde una Raspberry Pi hasta un clúster de supercomputadoras, incluso en MS Windows.