如何以编程方式在PDF中打开特定位置?

12

我看到一些应用程序将pdf文件作为文档加载,但在pdf文件的某个特定位置。他们是如何做到这一点的?


这是一个与此问题重复的问题:http://stackoverflow.com/questions/239300/convert-html-to-pdf-with-linked-documents-inline? - George Stocker
3
我认为这个问题与另一个问题相当不同。 - Dirk Vollmar
注意:命名目标不是书签!没有办法打开PDF到某个书签。毫无疑问,这是一种让你购买Acrobat完整版本的方式,这是创建命名目标的唯一方法。 - Coxy
只是一个建议,可以让这个问题在谷歌上获得更多的点击量。标题可以改为“如何在浏览器中打开特定的PDF页面?” - Jurik
1个回答

21

在URL上设置页面参数或命名目标。请参阅有关打开参数的文档:

在URL中指定PDF打开参数

您可以在单个URL中指定多个PDF打开参数。每个参数都用和号(&)或井号(#)与其他参数分隔。操作按照它们在URL命令行上出现的顺序从左到右进行处理和执行。由于所有指定的操作都会执行,因此后来的操作可能会覆盖先前操作的效果,所以了解顺序很重要。例如,页面操作应该出现在缩放操作之前。命令不区分大小写(除了命名目标的值)。URL行中不能有空格。

URL示例

http://example.org/doc.pdf#nameddest=Chapter6
http://example.org/doc.pdf#page=3
http://example.org/doc.pdf#page=3&zoom=200,250,100
http://example.org/doc.pdf#zoom=50
http://example.org/doc.pdf#page=72&view=fitH,100
http://example.org/doc.pdf#view=fitb&nameddest=Chapter3
http://example.org/doc.pdf#pagemode=none
http://example.org/doc.pdf#pagemode=bookmarks&page=2
http://example.org/doc.pdf#page=3&pagemode=thumbs
http://example.org/doc.pdf#collab=DAVFDF@http://review_server/Collab/user1
http://example.org/doc.pdf#page=1&comment=452fde0e-fd22-457c-84aa-2cf5bed5a349
http://example.org/doc.pdf#fdf=http://example.org/doc.fdf

谢谢,这份文档正是我所需要的。我原本以为需要整个API才能完成,而实际上只需要命令行参数就可以了。我认为URL模式也可能会有用处。 - Tim Matthews
这对我完全没有用 - 例如http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf#page=3只会打开第一页。 - Herb Caudill
@Herb -- 我刚试了一下你的链接,对我来说很好用。打开了前言。你用的是哪个版本的Acrobat/Reader?我安装的是Acrobat Pro 8。 - tvanfosson
@tvanfosson - 我又试了一遍,它成功了。然后我导航到第一页,关闭了PDF,并再次打开了URL - 这次它跳转到了第一页。所以我的结论是:如果用户在此会话中已经打开了文档,则Acrobat Reader会优先考虑用户的最后设置,包括打开哪个页面和缩放级别等内容。如果文档最近没有被打开过,则会尊重打开参数。 - Herb Caudill
@Herb -- 听起来就像是Adobe会做的事情。"我们比你更清楚你想要什么。" 我们也有问题,他们的产品不遵守打印队列设置(颜色等),而是自行决定文档应该如何打印。 - tvanfosson

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