5

Webアプリケーション内でluceneを使用して、多数のPDFドキュメントを検索しています。

ワークフローは次のようになります。

  1. ユーザーが検索語を入力する

  2. 検索結果のリストがユーザーに表示されます。

  3. 各検索結果は1つのPDFドキュメントを表し、検索語が見つかったページをユーザーに示します。これらの各ページは、ハイパーリンクとして表されます。

  4. ユーザーがそのようなハイパーリンクをクリックすると、そのページに直接ジャンプします。

  5. しかし今、ユーザーは検索語がページ上で強調表示されていないという問題を抱えています。したがって、ユーザーは自分でページ上の検索語を見つける必要があります。

私たちが望んでいたのは、PDFの特定のページで検索語を強調表示する方法です。

Acrobat Readerのオープンパラメータを使用すると、PDFドキュメントを検索(ヒットハイライト付き)するか、特定のページにジャンプすることができます。しかし、両方のパラメーターの組み合わせ(必要になる)は機能しません。

ページにジャンプしてPDFドキュメント内の検索用語を強調表示する方法を知っている人はいますか?Acrobat SDKを調べましたが、どのように使用できるかわかりません(ひどく文書化されています)。

4

3 に答える 3

2

acrobat はプラグインを使用して用語をハイライトし、ハイライトする単語を示すために fdf ストリームを必要とします。ポインターについては、こちらを参照してください。

support.dtsearch.com/dts0152.htm

アップデート:

ハイライトするページのページ番号と単語番号を知っていると仮定すると、これを行う 1 つの方法を次に示します。

ウェブページ:

<iframe id="acroframe" src="pdfpage/example.pdf#xml=http://example.com/hilite.aspx?hilite=8e3302ee-ff88-41ee-bdfb-9e8df87cc3ad&toolbar=1&navpanes=0&statusbar=0&view=FitH">
</iframe>

PDF がフレームに表示され、ツールバーが表示され、ナビゲーション ウィンドウとステータス バーが非表示になり、ページが水平に収まります。次に、Web サイトにクエリを実行して、ハイライト用の xfdf データを取得します

ここでは、hilite xfdf 値を使用して以前にセッションに保存した GUID キーを使用しました。hilite.aspx ページは、ドキュメント内の単語をハイライトするために次のようなものを返します。

<XML>
<Body units=characters color=#ff00ff mode=active version=2>
<Highlight>
<loc pg=15 pos=3583 len=5>
</Highlight>
</Body>
</XML>

これにより、15 ページの 3583 番目の位置から始まる 5 文字が強調表示されます。

acrobat リーダーでは、環境設定で [外部ハイライト サーバーからの検索ハイライトを有効にする] オプションをオンにする必要があることに注意してください。

于 2010-06-21T19:41:14.103 に答える
0

探している動作を取得するには、Javascript のスニペットを作成する必要があります。

于 2010-05-24T19:02:13.460 に答える
0

申し訳ありませんが答えではないかもしれませんが、回避策は PDF を html に変換し、Lucene 蛍光ペンを使用することです (Google と同様)。

于 2010-05-09T10:35:07.930 に答える