使用带有Acrobat查看器Java的Java

时间:2018-01-25 18:31:23

标签: java acrobat pdfview

我正在使用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

请有人帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

它看起来你缺少来自类路径的MRJToolkitStubs,因为它包含com.apple.mrj.MRJAboutHandler。如果需要,可以下载到jar文件:http://maven.ibiblio.org/maven/mrj/jars/