-1

我试图从 pdf 文件中提取数据iTextSharp,但出现了两个错误。实际上我想从pdf文件中提取数据并将其存储到数据库中。

这是我的代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.util.collections;
using System.Linq;

public partial class frm_CreatePDF : System.Web.UI.Page
{
    public string P_InputStream3 = "~/My Documents/List Of Holidays 2012";

    protected void Page_Load(object sender, EventArgs e)
    {
        ExtractText();
    }

    private string ExtractText()
    {
        PdfReader reader = new PdfReader(Server.MapPath(P_InputStream3));
        string txt = PdfTextExtractor.GetTextFromPage(reader, 2, new LocationTextExtractionStrategy());
        return txt;
    }
}

错误是:

  1. 当前上下文中不存在名称“PdfTextExtractor”
  2. 类型或命名空间名称 'LocationTextExtractionStrategy
4

4 回答 4

3

using确保通过添加指令将定义这两个类的命名空间带入作用域:

using iTextSharp.text.pdf.parser;
于 2012-09-10T07:39:43.167 回答
0

我猜你需要使用另一个命名空间,其中 LocationTextExtractionStrategy 定义

于 2012-09-10T07:40:10.487 回答
0

首先,您需要添加对 ItextSharp dll 的引用,之后您可以添加一条 using 语句来访问包含该静态类的命名空间

http://msdn.microsoft.com/en-us/library/wkze6zky%28v=vs.100%29.aspx

于 2012-09-10T07:41:42.220 回答
0

这是一个迟到的答案,但我发现你的问题是:

您缺少iTextSharp.text.pdf.parserusing 语句。在您的using iTextSharp.text.pdf;代码下方添加:

using iTextSharp.text.pdf.parser;

那应该能找到你的LocationTextExtractionStrategy还不错。

如果需要,您也可以iTextSharp.text.pdf.parser直接在您的后面添加LocationTextExtractionStrategy

string txt =  PdfTextExtractor.GetTextFromPage(reader, 2, new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy());

但我会推荐前者。它更干净,更易于阅读。

于 2016-04-19T13:17:23.277 回答