使用 java 和 Acrobat 查看器 JavaBean API 打开保存在项目目录中的 PDF 文件

open PDF file saved in project directory using java with Acrobat viewer JavaBean API

我正在使用java编程来显示保存在项目目录中的pdf文件。我试过这段代码

import java.awt.BorderLayout;
import java.io.FileInputStream;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.adobe.acrobat.Viewer;

public class lecteurPDF extends JPanel{
    private static final long serialVersionUID = 1L;
private Viewer viewer;

public lecteurPDF(String nomfichier) throws Exception{
    this.setLayout(new BorderLayout());

    viewer = new Viewer();
    this.add(viewer, BorderLayout.CENTER);
    FileInputStream fis = new FileInputStream(fliename);
    viewer.setDocumentInputStream(fis);
    viewer.activate();
}
public static void main(String[] args) throws Exception {

    String fliename= "a.pdf";
    lecteurPDF lecteur = new lecteurPDF(fliename);
    JFrame f = new JFrame("Lecteur PDF");
    f.setSize(1024,768);
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
    f.getContentPane().add(lecteur);
}
}

但不幸的是,我在 运行 这个程序时遇到了这个错误。

Exception in thread "main" java.lang.NoClassDefFoundError: com/apple/mrj/MRJAboutHandler
at displaypdf.lecteurPDF.<init>(lecteurPDF.java:19)
at displaypdf.lecteurPDF.main(lecteurPDF.java:28)
Caused by: java.lang.ClassNotFoundException: com.apple.mrj.MRJAboutHandler
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more

谁能帮我解决这个问题。

您的类路径中似乎缺少 MRJToolkitStubs,因为它包含 com.apple.mrj.MRJAboutHandler。如果需要,可以找到 jar 文件的下载:http://maven.ibiblio.org/maven/mrj/jars/