我的问题是类似于 "我怎么可以programmaticly开pdf在某一点?", 但PDF是本地的,不上网服务器。

我需要一种方法来跳一个给页PDF是在用户的计算机,工作跨版本的杂技演员(或使用替代PDF观众喜欢户读者)。PDF是会被称为从Java应用程序(它只是用于窗户,所以跨平台是不是必须的),而现在它的工作:

int pageNum = 24;
String manualPath = "C:\\Program Files\\Foo\\Bar\\Docs\\RefMan.pdf";
String acrordPath = "C:\\Program Files\\Adobe\\Reader 8.0\\Reader\\AcroRd32.exe";
String cmdString = "\"" + acrordPath + \" /A \"page=" + pageNum + 
    "=OpenActions\" \"" + manualPath + \"";
Process p = Runtime.getRuntime().exec(cmdString);

显然,这只会的工作,如果最终用户是使用Acrobat8 32位,并安装了它的默认位置。我接下来试图使用:

rundll32 url.dll,FileProtocolHandler file:///C:/Program%20Files/Foo/Bar/Docs/RefMan.pdf#page=24

认为这将打开的用户浏览器和跳到该网页,但它只是打开的杂技演员在第1页。

所以我stumpped,并寻求帮助。

有帮助吗?

解决方案

我结束了执行这一通过使用 这个代码 叫reg.exe 和解析出,从HKLM软件\课程。pdf看到,如果它的AcroExch类,然后得到的命令行从HKLM软件\类\AcroExch.文件\壳\开\命令。

其哈克,但它的工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top