从.PDF文件中提取数据

我需要从.PDF文件中提取数据并将其加载到SQL 2008.任何人都可以告诉我如何继续?

以下是如何使用iTextSharp从PDF中提取文本数据的示例。 你必须把它弄清楚,以使它完全符合你的要求,我认为这是一个很好的轮廓。 您可以看到StringBuilder如何用于存储文本,但您可以轻松地将其更改为使用SQL。

static void Main(string[] args) { PdfReader reader = new PdfReader(@"c:\test.pdf"); StringBuilder builder = new StringBuilder(); for (int x = 1; x <= reader.NumberOfPages; x++) { PdfDictionary page = reader.GetPageN(x); IRenderListener listener = new SBTextRenderer(builder); PdfContentStreamProcessor processor = new PdfContentStreamProcessor(listener); PdfDictionary pageDic = reader.GetPageN(x); PdfDictionary resourcesDic = pageDic.GetAsDict(PdfName.RESOURCES); processor.ProcessContent(ContentByteUtils.GetContentBytesForPage(reader, x), resourcesDic); } } public class SBTextRenderer : IRenderListener { private StringBuilder _builder; public SBTextRenderer(StringBuilder builder) { _builder = builder; } #region IRenderListener Members public void BeginTextBlock() { } public void EndTextBlock() { } public void RenderImage(ImageRenderInfo renderInfo) { } public void RenderText(TextRenderInfo renderInfo) { _builder.Append(renderInfo.GetText()); } #endregion } 

想象一下,如果你问这个问题。 如何将任意文本文件中的数据加载到SQL表中。 挑战不是打开文本文件并阅读它,它会自动从文件中获取有意义的数据。

因此,您可以使用iText或pdfSharp来读取PDF文件,但是获取有意义的数据将成为挑战。

如果您的意思是元数据,试试这个问题(第一个答案)

使用iTextSharp读取/修改PDF元数据

你必须自己做数据库的东西。

您需要做的是使用工具首先从PDF中提取文本,然后将文件读入二进制读取器..然后将其存储到数据库中……为了提取文本,有几个工具可供使用。 首先要提到的是:

  • iTextsharp是一个图书馆,可以下载并用于在处理PDF文档时进行大量的工作和深入的编辑和构建,并且有很多在线可用的例子以及一本完整的书来解释它的来龙去脉
  • 第二个工具是Adobe PDF iFilter ,它是adobe处理PDF修改和操作的工具。
  • 福克斯iFilter也是一个类似的组件,可以做你想要的!
  • PDF Box也将为您服务!
  • 这些是最知名的,记录良好的! 检查以下示例:在代码项目上尝试以下示例:

  • 使用PDFBox和IKVM.NET在.NET中解析PDF文件。
  • 使用ITextSharp从PDF文档中提取纯文本的简单类
  • 使用IFilter接口从各种文档类型中提取文本
  • 用C#.NET编写的PDF表单解析器
    这些都可以完成,而且不难理解。 希望他们帮助你:-)
  • 最后一点:对我而言,我会选择iTextSharp,因为它是有大多数可用示例的文档最齐全的库。