Erro ao tentar abrir pdf

1 resposta
Willdoidao

Estou com dificuldades em fazer um leitor de PDF simples para abrir os pdf's criado pelo sistema, o codigo usado é esse:

import javax.swing.*;     
import java.io.*;     
import com.adobe.acrobat.*;     
import java.awt.*;     
    
public class ExibePDF{     
         
         
    public static void main(String args[]){     
             
        InputStream input;     
        Viewer viewer;     
        JFrame frame = new JFrame("Visualização de Arquivo PDF");     
        frame.setLayout(new BorderLayout());         
                     
        try{     
                 
            viewer = new Viewer();     
            frame.add(viewer, BorderLayout.CENTER);     
            input = new FileInputStream (new File("C:/adobe/java.pdf"));     
                 
                 
            if(input != null){     
    
                ByteArrayOutputStream output = new ByteArrayOutputStream();     
                // set read buffer size     
    
                byte[] rb = new byte[1024];     
                int ch = 0;     
    
                while ((ch = input.read(rb)) != -1){         
                    output.write(rb, 0, ch);     
                }     
    byte[] b = output.toByteArray();     
                 input.close();     
                 output.close();     
                      
                 viewer.setDocumentInputStream(new ByteArrayInputStream(b));     
             }     
                          
                  
             viewer.activate();     
                  
             viewer.setProperty("Default_Page_Layout", "SinglePage");     
             viewer.setProperty("Default_Zoom_Type", "FitVisibleWidth");     
             viewer.setProperty("Default_Magnification", "100");     
                  
             frame.setSize(800, 600);     
             frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);     
             frame.setVisible(true);     
         }     
         catch(Exception e){     
                  
             JOptionPane.showMessageDialog(null,     
                         "Não foi possível  abrir o arquivo!",     
                         "Erro", JOptionPane.ERROR_MESSAGE);     
                              
                         System.exit(0);     
         }     
              
              
              
     }     
 }

Se tento exexutar essa classe direto de um botão tem a seguinte saida:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/apple/mrj/MRJAboutHandler
        at Relatorios.verpdf.main(verpdf.java:30)
        at Produtos.Armacao.JB_RelatorioActionPerformed(Armacao.java:560)
        at Produtos.Armacao.access$400(Armacao.java:47)
        at Produtos.Armacao$5.actionPerformed(Armacao.java:303)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5806)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4413)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2440)
        at java.awt.Component.dispatchEvent(Component.java:4243)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.lang.ClassNotFoundException: com.apple.mrj.MRJAboutHandler
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 29 more

Se executo ele direto sai o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: com/apple/mrj/MRJAboutHandler
        at Relatorios.verpdf.main(verpdf.java:30)
Caused by: java.lang.ClassNotFoundException: com.apple.mrj.MRJAboutHandler
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 1 more
Java Result: 1

1 Resposta

H
Caused by: java.lang.ClassNotFoundException: com.apple.mrj.MRJAboutHandler

Parece que falta esta classe.

Criado 10 de fevereiro de 2010
Ultima resposta 10 de fev. de 2010
Respostas 1
Participantes 2