javafx预览PDF

第一种方法: 调用其它可外部程序打开

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + new File("C:\\Program Files\\aaa\\202306171607001.pdf").getAbsolutePath());

第二种方法:javafx程序内部打开PDF预览,并支持放大缩小

1. 引入依赖

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.github.Dansoftowner</groupId>
    <artifactId>PDFViewerFX</artifactId>
    <version>0.7</version>
</dependency>

这个依赖maven不一定能下载下来, 反正我是没下载下来, 因此我是把jar包搞到了本地进行引入的。本人下载的是0.5版本的jar包,测试了一下,可以打开但是发现中文乱码。看各位需求吧,如果是纯英文文档, 则建议使用此方法。

jar包下载地址:https://github.com/Dansoftowner/PDFViewerFX/tree/0.8

2. 代码

  PDFDisplayer displayer = new PDFDisplayer();
  Stage stage = (Stage)btn.getScene().getWindow();
  stage.setScene(new Scene(displayer.toNode())); 
 //第一种方法 0.5版本
  //displayer.displayPdf(new File("D:\\aaa\\202306171607001.pdf"));
//第二种方法 0.5版本
 displayer.displayPdf(new BufferedInputStream(new FileInputStream(new File("D:\\aaa\\202306171607001.pdf"))));

你可能感兴趣的:(JavaFx,pdf,javafx)