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

5
我们在Web应用程序中使用Lucene搜索大量PDF文档。工作流程如下:
1. 用户输入搜索词。 2. 显示搜索结果列表。 3. 每个搜索结果代表一个PDF文档,并显示用户在哪一页找到了搜索词。每个页面都表示为超链接。 4. 如果用户现在单击此类超链接,他会直接跳转到该页面。 5. 但是现在用户遇到的问题是,在页面上未突出显示搜索词。因此,用户必须自己查找页面上的搜索词。
我们需要一种方法来在PDF的特定页面上突出显示搜索词。
Acrobat Reader的打开参数允许搜索PDF文档(带有命中突出显示)或跳转到特定页面。但是我们需要的两个参数的组合不起作用。

有人知道如何在PDF文档中跳转到页面并突出显示搜索术语吗? 我看了一下Acrobat SDK,但不知道如何使用它(文档非常糟糕)。

3个回答

2

Acrobat使用插件来突出显示术语,并需要FDF流来指示要突出显示的单词。请参见此处获取指针:

support.dtsearch.com/dts0152.htm

更新:

假设您知道要在页面上突出显示的页码和单词编号,以下是一种方法:

在网页上:

<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文档将出现在框架中,它将显示工具栏,隐藏导航窗格和状态栏,并适配横向页面。然后,它将查询网站以获取xfdf数据以进行高亮:http://example.com/hilite.aspx?hilite=8e3302ee-ff88-41ee-bdfb-9e8df87cc3ad

这里我使用了之前保存在会话中的唯一标识符key和hilite xfdf值。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个字符上进行高亮显示。(注意:尽管类似,但xfdf不是真正的“XML”)

请注意,阅读器必须在首选项中选中“启用外部高亮服务器搜索高亮显示”选项。


0

抱歉可能不是一个答案,但一个解决方法可能是将PDF转换为HTML并使用Lucene高亮显示器(类似于Google的做法)


0

你需要编写一小段Javascript代码来实现你想要的行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接