2009-07-07 38 views
6

Mi empresa recibe datos de una empresa externa a través de Excel. Exportamos esto a SQL Server para ejecutar informes sobre los datos. Ahora están cambiando a formato PDF, ¿hay alguna forma de portar de manera confiable los datos del PDF e insertarlos en nuestra base de datos de SQL Server 2008?¿Cómo extraer datos de un PDF?

Sería esto requiere escribir una aplicación o hay una forma automatizada de hacer esto?

+0

Sin respuesta precisa aquí, Fermín, sacaste las herramientas para extraer? – CallMeLaNN

+1

@CallMeLaNN - Mi empresa llegó a un acuerdo con la tercera parte que suministra los datos así que al final no estaba obligado a escribir cualquier cosa para hacer esto. – Fermin

Respuesta

4

Todo depende de cómo se han incluido los datos dentro del PDF. En términos generales, hay dos escenarios posibles aquí:

  1. Los datos son solo un objeto de texto dentro de un PDF. Tendrá que usar una herramienta para extraer el texto del PDF y luego insertarlo en su base de datos.

  2. Los datos están contenidos dentro de los campos de formulario en un archivo PDF. Tendrá que usar una herramienta para extraer datos de los campos del formulario e insertarlos en su base de datos.

Esperemos que el escenario n. ° 2 se aplique a usted, porque esto es precisamente para lo que están diseñados los formularios PDF. El escenario n. ° 1 es solo un truco que solo usarías si no tuvieras otras opciones. Extraer texto sin formato de un PDF no es tan fácil o preciso como cabría esperar.

Si recibe un formulario PDF a continuación, todo lo que necesita hacer es comparar los campos adecuados en el formulario PDF con los campos correspondientes en su base de datos y luego chupar en los datos. Este proceso podría ser completamente automatizado si usted escribió su propia aplicación.

¿Esto requiere escribir una aplicación o ¿hay una forma automatizada de hacer esto?

Sí, estas dos opciones requerirían escribir una aplicación o comprar una aplicación. Si escribe su propia aplicación, necesitará encontrar una biblioteca PDF de terceros que admita la recuperación de datos de los campos del formulario o la extracción de texto de un PDF.

0

Creo que tendrá que escribir una aplicación para esto. Esta pregunta se refiere al extracting data from PDF. Después de esto, puede exportar los datos al formato de Excel para que pueda conservar el formato de importación existente.

0

buscar información sobre "raspado" los datos de la PDF. Creo que Adobe tiene algunas herramientas que te permiten hacer esto para texto simple pero no las he usado.

Honestamente, sin embargo, me gustaría tratar de hacer todo lo que pueda para obtener estos datos en un formato en bruto de su vendedor.

5

Como ya se mencionó, tendrá que escribir una aplicación para hacer esto, pero lo ideal sería que pueda obtener los datos brutos de la empresa externa en lugar de tener que procesar el PDF.

Sin embargo, si haces desea extraer los datos de la PDF, he utilizado iText y nos pareció ser muy potente, fiable y lo más importante - libre. Viene en Java y .Net sabores - iTextSharp es la versión .Net. Le permite manipular documentos PDF de forma programática y expondrá los contenidos del PDF a la aplicación que escribe.

+2

itext/iTextSharp desde la versión 5.0 ya no es libre – Bobrovsky

1

Usando iTextSharp, haga lo siguiente

using System; 
using System.Configuration; 
using System.Data.SqlClient; 
using System.IO; 
using System.Text; 
using iTextSharp.text.pdf; 

    protected void BtnSubmit_Click(object sender, EventArgs e) 
     { 
      String FilePath = @"GetFilePath"; 
      StringBuilder sb = new StringBuilder(); 

      PdfReader reader = new PdfReader(FilePath);   
      PdfStamper myStamp = new PdfStamper(reader, new FileStream(FilePath + "_TMP", FileMode.Create)); 
      AcroFields form = myStamp.AcroFields; 

      if (form.GetField("GetFieldIdFromPDF") != null) 
       sb.Append(form.GetField("GetFieldIdFromPDF").ToString()); 
    } 
3

responsabilidad: estoy afiliado con los fabricantes de ByteScout PDF Extractor SDK herramienta

sólo quería compartir algunos de los escenarios de la vida real adicionales para la extracción de datos de texto de PDF :

  1. Imagen escaneada sin texto que se puede buscar: debe ser procesada por el motor de OCR (comogratis) 0 de Google)
  2. XFA forms: es el subconjunto de PDF que es apoyado principalmente por las herramientas de Adobe. Sin embargo, los datos se pueden extraer como datos XML con herramientas de procesamiento de bajo nivel como PDF iTextSharp o herramientas similares.
  3. ZUGFeRD archivos PDF que son sólo documentos PDF con la copia de un formulario de datos adjuntos como un archivo XML (que se puede extraer con herramientas como this)
  4. texto incorrectamente codificada por algunos generadores de PDF (se pueden restaurar a través del motor de OCR con sin embargo, una tasa de error aceptable).
Cuestiones relacionadas