如何提取从PDF数据?(How to extract data from a PDF?)

2019-07-29 18:56发布

我公司通过Excel中从外部公司接收数据。 我们出口到这个SQL服务器上运行的数据报告。 他们现在改变为PDF格式,有没有办法可靠端口从PDF中的数据并将其插入到我们的SQL Server 2008数据库?

这会需要写一个应用程序或者是有这样做的一个自动化的方式?

Answer 1:

这一切都取决于如何,他们已经包含在PDF中的数据。 一般来说,这里有两种可能的情况:

  1. 该数据只是一个PDF中的文本对象。 你需要使用一个工具从PDF提取文本,然后将其插入到你的数据库。

  2. 该数据包含在一个PDF表单字段中。 你需要使用一个工具从表单字段中提取数据,并将其插入到你的数据库。

但愿场景#2适用于你,因为这正是PDF形式设计。 方案1是真的只是一个黑客,如果你没有任何其他选择,你会只使用。 从PDF中提取纯文本是不容易或准确正如您所料。

如果您收到一个PDF表单,那么所有你需要做的是匹配的PDF形式的权利领域在数据库中的相应字段,然后吸数据。 这个过程可能,如果你写了自己的应用程序可以完全自动化。

这会需要写一个应用程序或者是有这样做的一个自动化的方式?

是的,这两个选项需要编写一个应用程序或购买的应用程序。 如果你写你自己的应用程序,那么你就需要找到一个支持检索从表单字段数据,或从PDF文件中提取文本第三方PDF库。



Answer 2:

前面已经提到-你不得不编写一个应用程序来做到这一点,但最好你就能够得到来自外部公司的原始数据,而不必处理PDF。

但是,如果想从PDF中提取数据,我用iText的 ,并发现它是非常强大的,可靠的和最重要的-自由 。 它有Java和.NET版本- iTextSharp的是.NET版本。 它允许您以编程方式操纵PDF文档,它会在PDF的内容暴露给您编写的应用程序。



Answer 3:

免责声明:我与下属的制造商ByteScout PDF SDK提取工具

只是想分享从PDF文本数据提取一些额外的现实生活场景:

  1. 扫描的图像,没有搜索的文本:应该由OCR引擎处理(如免费的Tesseract从谷歌)
  2. XFA表单 :它是由Adobe工具大多是支持PDF的子集。 但是,数据可以被提取为低水平PDF处理工具,如XML数据iTextSharp的或类似的工具。
  3. ZUGFeRD PDF文件,这是附带的XML文件格式的数据副本只是PDF文档(可以用一样的工具来提取此 )
  4. 文本由一些PDF发电机正确编码(可通过OCR引擎可以恢复一些可接受的误差率虽然)。


Answer 4:

使用iTextSharp的,请执行下列操作

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());
   }


Answer 5:

我想你将不得不为此编写的应用程序。 这个问题谈到从PDF中提取数据 。 在此之后,你可以将数据导出为Excel格式,使您可以保留现有的导入格式。



Answer 6:

Look for information on "Scraping" the data from the PDF. I believe Adobe has some tools that allow you to do this for simple text but I've not used them.

Honestly though, I would try to do anything you can to get this data in a raw format from your vendor.



文章来源: How to extract data from a PDF?