从.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,因为它是有大多数可用示例的文档最齐全的库。