如何打开 PDF 文件 javafx

Ily*_*yes 0 java pdf javafx javafx-8

我想打开一个 pdf 文件并在单击按钮时将其显示在新窗口上,我试了一下,但它不起作用:

Button btn = new Button();

File file=new File("Desktop/Test.pdf");
btn.setText("Open");

btn.setOnAction(new EventHandler<ActionEvent>() {

    public void handle(ActionEvent event) {

        try {
            desktop.open(file);
        } catch (IOException ex) {
            Logger.getLogger(Exemple.class.getName())
                .log(Level.SEVERE, null, ex);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

Ran*_*pto 5

您可以尝试这种方式打开 PDF 文件:

File file = new File("C:/Users/YourUsername/Desktop/Test.pdf");
HostServices hostServices = getHostServices();
hostServices.showDocument(file.getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

如果要使用 FileChooser,请使用以下命令:

btn.setOnAction(new EventHandler<ActionEvent>()
{
    @Override
    public void handle(ActionEvent event)
    {
        FileChooser fileChooser = new FileChooser();

        // Set Initial Directory to Desktop
        fileChooser.setInitialDirectory(new File(System.getProperty("user.home") + "\\Desktop"));

        // Set extension filter, only PDF files will be shown
        FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PDF files (*.pdf)", "*.pdf");
        fileChooser.getExtensionFilters().add(extFilter);

        // Show open file dialog
        File file = fileChooser.showOpenDialog(primaryStage);

        //Open PDF file
        HostServices hostServices = getHostServices();
        hostServices.showDocument(file.getAbsolutePath());
    }
});
Run Code Online (Sandbox Code Playgroud)