0

テキスト検索機能を使用して Web 上に PDF ファイルを表示する方法を教えてください。

4

2 に答える 2

2

PDFファイル内を検索する場合は、次のようにします。

  • この dll Interop.Cisso.DLL をダウンロードし、参照として追加します。
  • カタログを作成します (カタログ内を検索するには、インデックス サービスでカタログを定義する必要があります)。
  • 最後に、検索を行うためのコードを次に示します。

       DataSet ds = new DataSet("IndexServerResults");
        CissoQueryClass q = new CissoQueryClass();
        CissoUtilClass util = new CissoUtilClass();
    
        OleDbDataAdapter da = new OleDbDataAdapter();
    
    string query = "";
    if (lstSearchIntegration.SelectedValue == "-1") {
        query = "@all Contains " + txtKeywordOne.Text + " and not #filename *.log";
    } else {
        string operation = "";
        if (lstSearchIntegration.SelectedValue.ToLower == "and") {
            operation = "and";
        } else {
            operation = "or";
        }
        query = "@all Contains " + txtKeywordOne.Text + " " + operation + " " + txtKeywordTwo.Text;
    
     }
    
    switch (lstDocType.SelectedValue) {
        case "doc":
            query += " and #filename *.doc";
            break;
        case "pdf":
            query += " and #filename *.pdf";
            break;
        case "ppt":
            query += " and #filename *.ppt";
            break;
        case "pps":
            query += " and #filename *.pps";
            break;
    }
    
    q.Query = query;
    q.Catalog = "YourCatalogName";
    q.SortBy = "rank[d]";
    q.Columns = "DocAppName,rank, path, size, FileName,VPath, Create";
    
    q.MaxRecords = 1000;
        util.AddScopeToQuery(q, "YourFolder", "deep");
    object obj = q.CreateRecordset("nonsequential");
    da.Fill(ds, obj, "IndexServerResults");
    DataTable mydt = new DataTable();
    mydt = ds.Tables[0];
    

その点に注意してください:

  1. よりスマートな検索のために and/or 操作を使用しています
  2. doc、pdf、ppt、pps 内を検索しています
  3. 検索からログ ファイルを除外しています
于 2012-04-04T07:06:27.813 に答える
0

Aspose.PDFを提案できますが、費用がかかります

于 2012-04-04T07:00:05.993 に答える