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

Posted

技术标签:

【中文标题】使用带有 Acrobat 查看器 JavaBean API 的 java 打开保存在项目目录中的 PDF 文件【英文标题】:open PDF file saved in project directory using java with Acrobat viewer JavaBean API 【发布时间】:2018-01-25 18:31:23 【问题描述】:

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

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

【讨论】:

是的,我错过了这个 JAR 文件,非常感谢您的帮助

以上是关于使用带有 Acrobat 查看器 JavaBean API 的 java 打开保存在项目目录中的 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法打开一个带有VB功能的pdf绕过执行文件的路径(Acrobat.exe)

用adobe acrobat 8 将pdf文件转换为Word时为啥会出现乱码

关于pdf 域的问题(使用Aspose.Pdf.Kit引用,Adobe Acrobat X Pro pdf的解析器)如果答案满意付出50个财富

如何在我的 iPhone 应用程序中快速查看 Adob​​e acrobat 中的 pdf [重复]

Adobe acrobat reader 的最新版本是啥 win7 64位的

表单关闭时 Acrobat Reader ActiveX 访问冲突