0

我有 Java 代码可以在 Java 中打开 pdf 文件,它运行良好。

代码是

    try {
        File pdfFile = new File("/Users/alkandari/Desktop/SMART/Fahim/test.pdf");
        if (pdfFile.exists()) {
            if (Desktop.isDesktopSupported()) {
                Desktop.getDesktop().open(pdfFile);
            } else {
                System.out.println("Awt Desktop is not supported!");
            }
        } else {
            System.out.println("File is not exists!");
        }
        System.out.println("Done");
    } catch (Exception ex) {
        ex.printStackTrace();
    }

但是,当我将它放在某种方法中showMyPDFFile()并尝试调用它时commandLink,pdf 不会打开。它说Awt Desktop is not supported!

 <h:commandLink value="View PDF/ DOC"
 action="#{PersonalInformationDataBean.showMyPDFFile()}" />

知道为什么 pdf 没有被打开吗?

4

1 回答 1

2

所以只是检查一下,您正在编写一个 Web 应用程序,对吗?

该类Desktop是指本地桌面 - 因此它适用于本地 GUI 客户端应用程序。即使它受到支持,您也会在服务器的桌面上打开 PDF - 而不是客户端的桌面,我认为这就是您所追求的。

听起来您基本上应该直接链接到 PDF 文件(作为 URL)。当然,您需要通过 Web 服务器使 PDF 可用。

于 2012-07-29T20:04:19.150 回答