-1

を使用してpdfファイルからデータを抽出しようとしましたiTextSharpが、2つのエラーが発生しました。実際には、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次のディレクティブを追加して、これら 2 つのクラスが定義されている名前空間をスコープに含めたことを確認します。

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

LocationTextExtractionStrategy が定義されている別の名前空間を使用する必要があると思います

于 2012-09-10T07:40:10.487 に答える
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 に答える
0

まず、ItextSharp dll への参照を追加する必要があります。その後、using ステートメントを追加して、その静的クラスを含む名前空間にアクセスできます。

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

于 2012-09-10T07:41:42.220 に答える