如何在Acrobat Reader中搜索PDF并通过参数跳转到某个页面?

时间:2010-05-07 12:39:27

标签: search pdf lucene highlighting acrobat

我们在网络应用程序中使用lucene来搜索大量PDF文档。

工作流程如下:

  1. 用户输入搜索字词

  2. 向用户显示搜索结果列表。

  3. 每个搜索结果代表一个PDF文档,并向用户显示找到搜索词的页面。这些页面中的每一个都表示为超链接。

  4. 如果用户现在点击这样的超链接,他会直接跳转到该页面。

  5. 但现在用户遇到的问题是搜索字词未在页面上突出显示。因此,用户必须自己查找页面上的搜索词。

  6. 我们想要的是一种在PDF中的特定页面上突出显示搜索词的方法。

    Acrobat Reader的open parameters允许搜索PDF文档(带突出显示)或跳转到特定页面。但是这两个参数的组合 - 我们需要 - 并不起作用。

    有没有人知道如何跳转到某个页面并突出显示PDF文档中的搜索词可能有效? 我看了一下Acrobat SDK,但没看到我们如何使用它(这是非常详细的文档)。

3 个答案:

答案 0 :(得分:2)

acrobat使用插件来添加hilite术语,并且需要fdf流来指示hilite的单词。 请参阅此处获取指示:

support.dtsearch.com/dts0152.htm

更新

假设您知道页面上的页面#和单词#到hilight,这是一种方法:

在网页上:

<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将出现在框架中,它将显示工具栏,隐藏navpane&amp;状态栏和适合页面到水平。然后它将查询网站以获取用于hilighting的xfdf数据:http://example.com/hilite.aspx?hilite=8e3302ee-ff88-41ee-bdfb-9e8df87cc3ad

在这里,我使用了一个guid键,我以前在会话中使用hilite xfdf值保存。 hilite.aspx页面将返回类似以下内容的文档中的hilite单词:

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

这将是第15页的hilight 5 chars,从位置3583开始。(注意:xfdf不是真正的“XML”,尽管有相似之处)

请注意,acrobat reader必须在首选项中选中“启用外部突出显示服务器的搜索突出显示”选项。

答案 1 :(得分:0)

抱歉,这可能不是一个答案,但解决方法可能是将PDF转换为html并使用Lucene荧光笔(类似于Google所做的)

答案 2 :(得分:0)

您必须编写一段Javascript来获取您正在寻找的行为。