java - 打开 PDF 只能在 netbeans 中使用

标签 java pdf file-io runtime exec

我编写了一个创建 PDF 文档的程序。创建后,必须打开 PDF 才能打印。

我有以下代码,但只有从 netbeans 启动时它才有效。谁能给我一些指点吗?

 public void openPDF()
    {
        try {
            System.out.println("Opening PDF");
            File file = new File(pdfPath+pdfName);
            String absolutePDFpath = file.getAbsolutePath().replace(""+(char)92,""+(char)92+(char)9);
            System.out.println("Path = "+absolutePDFpath);
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + absolutePDFpath);
        } 
        catch (IOException ex) 
        {
            JOptionPane.showMessageDialog(null, "Er is een fout opgetreden tijdens het openen van het PDF"
                    + " document\nFoutcode: 0xFF05");
            Logger.getLogger(PrintJob.class.getName()).log(Level.SEVERE, null, ex);
        }

最佳答案

参见Desktop.open(File)了解跨不同平台打开 PDF 的方法。像这样的东西..

File file = new File(pdfPath+pdfName);
Desktop.getDesktop().open(file);
<小时/>

如果应用程序。需要支持 Java 1.5 或更早版本(在 Desktop 可用之前),坚持使用 exec(),但实现 When Runtime.exec() won't 的所有建议.

为了可靠地运行,使用进程需要程序员做很多事情。该代码没有执行其中任何一个操作。

关于java - 打开 PDF 只能在 netbeans 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8471709/

相关文章:

java - 创建仅打印到一行的 XML

java - 程序误读了我的输入

java - 如何使用 PDFBox 从 PDF 文档中删除链接

c - WriteFile 函数 - 写入串口

string - 用于保存的matlab迭代文件名

java - 在Java中获取当前 Activity 窗口的标题

java - 同一类(class)不可分配。相同类不同的类加载器

asp.net - 通用格式的最佳 PDF 转换器

java - 将 XML 文件渲染为 byte[] 格式的 PDF

java - 如何将文本附加到 Java 中的现有文件?