从.PDF文件中提取数据

S..*_*S.. 23 c# ssis

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

Dan*_*rak 29

以下是如何使用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
}
Run Code Online (Sandbox Code Playgroud)


Con*_*rix 8

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

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


Maj*_*ajd 5

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

  • iTextsharp是一个库,可以下载并用于在处理 PDF 文档时进行大量工作和深入编辑和构建,并且在线提供了大量示例以及解释其来龙去脉的完整书籍
  • 第二个工具是Adobe PDF iFilter,它是来自 adobe 的一个用于处理 PDF 修改和操作的工具。
  • 同时福昕PDF IFilter的也是类似的组件可以做什么乌尔要求!
  • PDF Box也将为您服务!

    这些是最有名的和有据可查的!检查以下示例:在代码项目中尝试以下示例:

  • 使用 PDFBox 和 IKVM.NET 解析 .NET 中的 PDF 文件。
  • 使用 ITextSharp 从 PDF 文档中提取纯文本的简单类
  • 使用 IFilter 接口从各种文档类型中提取文本
  • 用 C#.NET 编写的 PDF 表单解析器
    这些可以完成这项工作,而且它们并不难理解。希望他们能帮助你:-)

    最后一点:对我来说,我会使用 iTextSharp,因为它是文档最齐全的库,拥有最多的可用示例。