如何在命名目的地打开PDF

时间:2016-03-23 13:36:12

标签: java url pdf

我需要编写一个Java程序,在指定的目标位置打开PDF文件。文件test.pdf包含指定的目的地" DestinationX"在第2页上。该程序打开PDF文件,但不会转到指定的目标位置。我如何到达指定的目的地?

import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class MyLauncher {
    static void openFileAtNamedDest(){
        if (Desktop.isDesktopSupported()) {
            try {
                URI myURI = new URI("file:///C:/test.pdf#nameddest=DestinationX");
                Desktop.getDesktop().browse( myURI );
            } catch (IOException e) {
                e.printStackTrace();
            } 
            catch (URISyntaxException e) {
                e.printStackTrace();
            }
        }
    }
    public static void main(String[] args) {
        openFileAtNamedDest();
    }
}

1 个答案:

答案 0 :(得分:0)

根据spec,您的网址格式正确无误。唯一的问题是您通过browse()实际启动的应用程序。我认为它的行为方式与您在桌面上双击文件图标的方式相同:它将启动任何已注册为PDF的默认处理程序的应用程序。

Acrobat应该能够处理具有指定目的地的URL,但其他PDF查看器可能不支持它。