我需要编写一个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();
}
}
答案 0 :(得分:0)
根据spec,您的网址格式正确无误。唯一的问题是您通过browse()
实际启动的应用程序。我认为它的行为方式与您在桌面上双击文件图标的方式相同:它将启动任何已注册为PDF的默认处理程序的应用程序。
Acrobat应该能够处理具有指定目的地的URL,但其他PDF查看器可能不支持它。