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)
您需要做的是首先使用工具从 PDF 中提取文本,然后将文件读入二进制阅读器 .. 然后将其存储到您的数据库中 .. 提取文本有几种工具可以使用。首先要提到的是:
这些是最有名的和有据可查的!检查以下示例:在代码项目中尝试以下示例:
最后一点:对我来说,我会使用 iTextSharp,因为它是文档最齐全的库,拥有最多的可用示例。