7

我的公司通过 Excel 从外部公司接收数据。我们将其导出到 SQL Server 以运行数据报告。他们现在正在更改为 PDF 格式,有没有办法可靠地将 PDF 中的数据移植到我们的 SQL Server 2008 数据库中?

这需要编写一个应用程序还是有一种自动化的方式来做到这一点?

4

6 回答 6

5

如前所述 - 您必须编写一个应用程序来执行此操作,但理想情况下,您将能够从外部公司获取原始数据,而不必处理 PDF。

但是,如果您确实想从 PDF 中提取数据,我使用了iText,发现它非常强大、可靠且最重要的是 - 免费。它有 Java 和 .Net 风格——iTextSharp是 .Net 版本。它允许您以编程方式操作 PDF 文档,并将 PDF 的内容公开给您编写的应用程序。

于 2009-07-07T11:39:24.733 回答
4

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

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

  2. 数据包含在 PDF 的表单域中。您需要使用工具从表单字段中提取数据并将其插入数据库。

希望场景 #2 适用于您,因为这正是 PDF 表单的设计目的。场景 #1 实际上只是一个 hack,只有在您没有任何其他选择的情况下才会使用它。从 PDF 中提取纯文本并不像您想象的那么容易或准确。

如果您收到 PDF 表单,那么您需要做的就是将 PDF 表单中的正确字段与数据库中的相应字段匹配,然后输入数据。如果您编写自己的应用程序,此过程可以完全自动化。

这需要编写一个应用程序还是有一种自动化的方式来做到这一点?

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

于 2009-07-08T05:38:55.693 回答
4

免责声明:我隶属于ByteScout PDF Extractor SDK工具的制造商

只是想分享一些从 PDF 中提取文本数据的其他真实场景:

  1. 没有可搜索文本的扫描图像:应由 OCR 引擎处理(如Google提供的免费Tesseract )
  2. XFA 表单:它是 PDF 的子集,主要由 Adob​​e 工具支持。但是可以使用iTextSharp等低级 PDF 处理工具或类似工具将数据提取为 XML 数据。
  3. ZUGFeRD PDF 文件,它们只是 PDF 文档,带有作为 XML 文件附加的表单数据的副本(可以使用这样的工具提取
  4. 某些 PDF 生成器错误编码的文本(可以通过 OCR 引擎以可接受的错误率恢复)。
于 2015-02-10T11:53:12.677 回答
1

使用 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());
   }
于 2012-07-03T20:03:13.127 回答
0

我认为您将不得不为此编写一个应用程序。这个问题讨论了从 PDF 中提取数据。在此之后,您可以将数据导出为 excel 格式,以便您可以保留现有的导入格式。

于 2009-07-07T11:21:39.857 回答
-1

查找有关从 PDF 中“抓取”数据的信息。我相信 Adob​​e 有一些工具可以让您对简单的文本执行此操作,但我没有使用过它们。

不过老实说,我会尽一切努力从供应商那里获取原始格式的数据。

于 2009-07-07T11:21:55.473 回答