我需要从.PDF文件中提取数据并将其加载到SQL 2008中。 任何人都可以告诉我如何继续吗?
答案 0 :(得分: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
}
答案 1 :(得分:8)
想象一下,如果你问这个问题。如何将任意文本文件中的数据加载到SQL表中。挑战不是打开文本文件并阅读它,它会自动从文件中获取有意义的数据。
答案 2 :(得分:4)
答案 3 :(得分:4)
您需要做的是使用工具首先从PDF中提取文本,然后将文件读入二进制阅读器..然后将其存储到数据库中......为了提取文本,有几种工具可供使用。首先要提到的是:
这些是最知名且记录最完备的! 检查以下示例: 在代码项目上尝试以下示例:
最后一点:对我来说,我会选择iTextSharp,因为它是文档最齐全的库,有大多数可用的例子。