从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 和其他文件。

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

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

相关推荐

  • 沃尔沃c90轿跑:在哪里可以找到PDF格式的C89/C90标准(ansi c standard pdf)

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

    2022-12-18 12:17:05
    0 43 56
  • 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 89 72
  • 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 56 32
  • 什么是pdf文件:什么是pdfbcmap文件

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

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

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

    2022-11-29 14:38:28
    0 69 58
  • 苹果cms插件:10月 CMS-DynamicPDF插件失败

    关于苹果cms插件的问题,在dynamicpdf中经常遇到,我已经安装了 Renatio 的 DynamicPDf 插件,以便在电子邮件中生成 PDF 作为附件。但是我无法使其正常工作。…

    2022-12-04 12:15:28
    0 34 93
  • Vi样机:动态 PDF行样机(pdf mockup)

    关于Vi样机的问题,在pdf mockup中经常遇到,我有一个小问题,答案可能真的很明显和简单,但我想我在互联网上搜索答案失败了,所以我再次来到你们身边。…

    2022-12-03 04:48:55
    0 43 72
  • 通过pdfmonkey同步生成pdf

    我正在使用 pdfMonkey 来存储 PDF 模板并生成 PDF,我正在调用下面链接中提到的 pdfMonkey API 来生成 pdf。我正在获得成功响应,但 download_url 将为 null,preview_url 也将返回 400。为了获取 PDF 下载 URL,我必须调用 get document API。所以我必须做几个 API 调用来生成 PDF。有没有什么方法可以在单个 API 调用中生成 PDF?…

    2022-11-11 15:20:18
    0 96 65

发表评论

登录 后才能评论

评论列表(42条)