从Java应用程序即时打开PDF文件

有没有办法有一个代码在 Java 应用程序中以平台无关的方式打开 PDF 文件?我的意思是在 Windows 中使用批处理文件可以做到这一点。

有没有办法有一个代码在 Java 应用程序中以平台无关的方式打开 PDF 文件?我的意思是在 Windows 中使用批处理文件可以做到这一点。

97

我会尝试Desktop.open(File),其中:

启动关联的应用程序以打开文件。

所以这个代码应该做的伎俩:

if (Desktop.isDesktopSupported()) {
    try {
        File myFile = new File("/path/to/file.pdf");
        Desktop.getDesktop().open(myFile);
    } catch (IOException ex) {
        // no application registered for PDFs
    }
}
3

您可以使用运行时执行和脚本,也有几个 Java PDF 查看器(即 Icepdf,JPedal,PDFRenderer)。

2

Michael Meyer 的解决方案对我来说并不是很有效。具体来说,一个带有空格的路径失败的是 IllegalArgumentException,而不是 IOException。

这是我的作品:

    if (Desktop.isDesktopSupported()) {
try {
File theUMFile = new File(usersManualPath);
 Desktop.getDesktop().open(theUMFile);
}
catch (FileNotFoundException fnf){
okDialog(msg_fnf);
theConcours.GetLogger().log(Level.SEVERE, null, fnf);
theConcours.GetLogger().info(msg_fnf);
}
catch (IllegalArgumentException fnf) {
 okDialog(msg_fnf);
            theConcours.GetLogger().log(Level.SEVERE, null, fnf);
            theConcours.GetLogger().info(msg_fnf);
        }
        catch (IOException ex) {
            okDialog(msg_cno);
            theConcours.GetLogger().log(Level.SEVERE, null, ex);
            theConcours.GetLogger().info(msg_cno);
        }
    } 
1

使用它使用 java 打开 pdf 文件

File file = new File(filepath);
    if (file.toString().endsWith(".pdf")) 
        Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + file);
    else {
        Desktop desktop = Desktop.getDesktop();
        desktop.open(file);
}

此代码用于打开您的 pdf 和其他文件。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(409)
颜色而不是颜色 (english spelling for colour)
上一篇
在 Javascript中从国家缩写中获取完整的国家名称
下一篇

相关推荐

  • java web程序设计任务教程pdf从入门到精通

    Java Web程序设计任务教程PDF是一本指导开发人员在Web应用程序中使用Java的书籍。它提供了有关如何使用Java来构建Web应用程序的详细信息,包括如何使用Servlets、JSP、JavaBeans等技术。…

    2023-02-20 08:18:04
    0 18 12
  • java入门经典第七版pdf学习如何开发高质量的 Java 应用程序

    Java入门经典第七版是一本由清华大学出版社出版的图书,该书由著名的Java程序员和教育家杨晓军先生编写,旨在帮助初学者快速掌握Java编程语言的基本概念和编程技巧。本书从Java编程语言的基本概念、编程技巧、面向对象编程、网络编程、图形界面编程等方面,深入浅出地讲解了Java编程语言的基本原理及其应用,使读者能够快速掌握Java编程语言的基本概念和编程技巧。…

    2023-03-09 15:40:12
    0 37 38
  • java编程思想第6版pdf从基础到高级

    Java编程思想第6版pdf是一本由Bruce Eckel著作的关于Java编程思想的书籍,该书深入讲解了Java语言的基本原理,以及如何利用它来构建复杂的程序。书中全面介绍了Java语言的基本概念,如变量、数据类型、运算符、流程控制、数组、类和对象、接口、继承、多态、异常处理、泛型等,并且给出了大量实例代码,以便读者能够更好地理解和掌握概念。…

    2023-05-15 04:05:14
    0 37 32
  • 沃尔沃c90轿跑:在哪里可以找到PDF格式的C89/C90标准(ansi c standard pdf)

    关于沃尔沃c90轿跑的问题,在ansi c standard pdf中经常遇到,我正在寻找C89/C90 standard的免费版本,但我在任何地方都找不到它!为什么这么难找到它?…

    2022-12-18 12:17:05
    0 32 30
  • 2天新生儿c反应蛋白高:30天的反应(第4天 )pdf(30 days of react pdf)

    关于2天新生儿c反应蛋白高的问题,在30 days of react pdf中经常遇到,我正在关注30 days of react pdf for day 4,我似乎无法让 css 呈现。我可以得到文本和图像来显示。我试图基本上复制 helloworld 概念,但我现在把所有东西都放在一个 html 中。我也尝试了 github 的 day 4 示例,index.html 也不呈现任何内容。因此,如果有人知道原因,请帮助我。提前感谢。…

    2022-12-10 07:20:50
    0 16 47
  • Pdf如何裁剪文件中一部分:如何删除PDF的一部分(how to delete part of a pdf document)

    关于Pdf如何裁剪文件中一部分的问题,在how to delete part of a pdf document中经常遇到,很久以前,我使用了一个在线工具,该工具以 PDF 格式生成了报告。我再也无法访问该工具。我需要与某人共享 PDF,但需要覆盖或删除一小部分机密文本。…

    2022-12-27 10:07:18
    0 24 87
  • 什么是pdf文件:什么是pdfbcmap文件

    关于什么是pdf文件的问题,在bcmap中经常遇到,我在我的 Web 应用程序中使用 pdfjs 查看器,它附带了所有这些 bcmap 文件。我跟踪了网络流量,他们没有被要求。…

    2022-12-11 15:57:26
    0 70 20
  • Cdr怎么存pdf:php库以任何合理的格式转换 cdr文件

    关于Cdr怎么存pdf的问题,在pdf cdr中经常遇到,我正在寻找一个能够以任何基于光栅的图像格式(jpg,gif)转换CDR files的 php 模块。…

    2022-11-29 14:38:28
    0 66 29

发表评论

登录 后才能评论

评论列表(64条)