この記事では、JavaでPDFファイルを開く2つの方法を紹介します。

1. rundll32 – Windowsプラットフォームソリューション

Windowsでは、 ”

rundll32

“コマンドを使用してPDFファイルを起動することができます(例:

package com.mkyong.jdbc;

import java.io.File;
//Windows solution to view a PDF file
public class WindowsPlatformAppPDF {

    public static void main(String[]args) {

      try {

        if ((new File("c:\\Java-Interview.pdf")).exists()) {

            Process p = Runtime
               .getRuntime()
               .exec("rundll32 url.dll,FileProtocolHandler c:\\Java-Interview.pdf");
            p.waitFor();

        } else {

            System.out.println("File is not exists");

        }

        System.out.println("Done");

      } catch (Exception ex) {
        ex.printStackTrace();
      }

    }
}

2. Awt Desktop – クロスプラットフォームソリューション

このAwt Desktopクロスプラットフォームソリューションは、

nix、Windows、およびMacプラットフォームで動作するため、常に

推奨** されています。

package com.mkyong.io;

import java.awt.Desktop;
import java.io.File;
//Cross platform solution to view a PDF file
public class AnyPlatformAppPDF {

    public static void main(String[]args) {

      try {

        File pdfFile = new File("c:\\Java-Interview.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();
      }

    }
}