# PDF auf JFrame



## MScalli (29. Aug 2007)

hi leutz.
ich hab mal ne frage.
ist es möglich ein pdf document auf ein JFrame oder JPanel zu adden??
es soll ne art mail prog werden und in einem teil des Fensters soll ein pdf geöffnet werden.
ist das möglich?? und wenn ja wie??
müsste ja normal gehen da ein pdf ja auch in nem fenster ist?!?! 

schon mal vielen dank für jeden tipp!!


----------



## Wildcard (29. Aug 2007)

Du bräuchtest aber eine lib die ein pdf rendern kann.


----------



## Ariol (29. Aug 2007)

Sieh dir das mal an:
http://www.adobe.com/products/acrviewer/acrvdnld.html?name=Accept#java

Alternativen:
http://schmidt.devlib.org/java/libraries-pdf.html

----------------------

Google hilft:
http://www.google.de/search?q=java+pdf&ie=UTF-8&oe=UTF-8

Aber es war ja erst der 4. link


----------



## MScalli (30. Aug 2007)

ich such weiter


----------



## MScalli (30. Aug 2007)

hab  ja nicht gesagt das ich nichts gefunden habe 
Ich such ja schon ne ganze zeit, aber alles was ich da finde bringt mir irgendwie nix.
zum pdfs erzeugen usw. ist da massig und das ist ja auch kein prob. 
aber das erzeugte dann in mein Fenster packen.
sieht man ja ab und an im netz das ein pdf in ner seite eingebunden ist, und so soll 
das werden... nur da war es wieder mein problem^^

aber trotzdem vielen dank!!

evtl. weiss ja wer anders wie ich das angehen kann(hoffe ich) .. viell hats schon mal wer gemacht!!
bitte leutz... bekomms allein net hin!!


----------



## Niki (30. Aug 2007)

Schau mal das an, vielleicht hilft dir das weiter:

http://www.zdnet.de/itmanager/whitepapers/0,39026294,60273164p-39002206q,00.htm


----------



## MScalli (30. Aug 2007)

genau mit dem tu ich schon ewig rum!!
das will einfach net!! habe eigentlich alles so gemacht wie es da drin steht!!

ich benutze eclipse und da muss ich die die acrobat.jar und die MRJToolkitStubs.zip einbinden.
da geh ich mit rechtsclick auf das package (ShowPDF) dann unter Properties/Java Build Path/Libraries/add External Jars
und binde die 2 sachen ein!!

soweit muss es fast richtig sein, demm bevor ich das gemacht habe kennt er nicht mal den viewer(das ist da drin.. hab ich nach geschaut).

dann den folgenden code


```
import com.adobe.acrobat.*;
import java.awt.*;
import java.io.*;

public class PDFViewer 
{
    public PDFViewer() throws java.lang.Exception {
    }

    public void viewPDFDocument() 
    {
        try 
        {
            Frame frame = new Frame("PDF Viewer");
            frame.setLayout(new BorderLayout());

            Viewer viewer = new Viewer();

            frame.add(viewer, BorderLayout.CENTER);
            frame.add(new Label("PDF Document in Adobe Acrobat Viewer",
                    Label.CENTER), BorderLayout.NORTH);

            InputStream input = new FileInputStream(new File(
                        "C:pdf.pdf"));
            viewer.setDocumentInputStream(input);

            viewer.setEnableDebug(true);


            viewer.setProperty("Default_Page_Layout", "SinglePage");
            viewer.setProperty("Default_Zoom_Type", "FitPage");
            viewer.setProperty("Default_Magnification", "100");
          

            System.out.println("Page Count: " + viewer.getPageCount());
            System.out.println("Current Page: " + viewer.getCurrentPage());
          
            viewer.zoomTo(1.0);

            viewer.activate();

            frame.setSize(400, 500);
            frame.pack();
            frame.show();

           OutputStream output=new FileOutputStream(new File("C:/Adobe/output.txt"));
            PrintWriter printWriter=new PrintWriter(output);
            printWriter.print(viewer.getTextForPage(1));
            printWriter.flush();
            printWriter.close();
            
        } 
        catch (java.lang.Exception e) 
        {
        	System.out.println("Fehler : " +  e);
        }
    }

    public static void main(String[] argv) 
    {
        try 
        {
            PDFViewer pdfViewer = new PDFViewer();
            pdfViewer.viewPDFDocument();
        } 
        catch (java.lang.Exception e) 
        {
        	System.out.println("Fehler in der Main : " +  e);
        }
    }
}
```

ist genau der code wie auf der seite.. bis auf die pdf.. die heisst bei mir pdf.pdf... iss ja egal!!
aber ich bekomm dann immer die meldung...

could not find the main class.. programm will exit

und in eclipse sagt er mir folgendes..

java.lang.NoClassDefFoundError: ShowPDF
Exception in thread "main" 

so wie ich das sehe will er von der acrobat jar die main.. aber da gibts keine.
bind ich das falsch ein ?? aber dann würde er ja net wenn ich das einbinde Viewer erkennen..
ich fall bald vom glauben ab 

übrigens das war so ziemlich das erste was ich probiert habe!! und jetzt hab ich das nochmal.. und nochmal.. usw. gemacht.. weil klingen tut das ganz gut auf der seite.. 
aber des funzt net!!

ps: aber trotzdem vielen dank niki das helfen wolltest!!!

viell erbarmt sich einer und testet des mal ob des bei jemand geht.. wär super..
ich such derweil weiter.. hilft ja nix


----------



## Niki (30. Aug 2007)

Soda, ich hab dein Programm soeben ausprobiert und bis auf die Zeilen:

```
OutputStream output=new FileOutputStream(new File("C:/Adobe/output.txt"));
 PrintWriter printWriter=new PrintWriter(output);
 printWriter.print(viewer.getTextForPage(1));
 printWriter.flush();
 printWriter.close();
```

und

```
viewer.setEnableDebug(true);
```

die ich löschen musste funktionierts. Ich hab einfach das acrobat.jar eingebaut und schon hats geklappt.

Ich vermute du hast die falsche start-Klasse angegeben und zwar nicht deine eigene. Überprüf das doch einmal!


----------



## MScalli (30. Aug 2007)

ich hatte das projekt scho zehn mal neu gemacht...
habe jetzt eclipse runter geschmissen, alles gelöscht..
ein neues projekt gestartet und das fenster ist beim ersten mal aufgegangen..
ja ok.. beim 2 mal.. weil show nimmer nehmen sollst.. 


thx niki!!!!
warst ausschlaggebend das ich nägel mit köpfen mach und den ganzen sch... runter schmeiss 

 :toll:


----------



## MScalli (3. Sep 2007)

Sers


----------



## MScalli (9. Sep 2007)

ich muss jetzt diesen thread noch mal aufmachen..
tu jetzt schon ewig an acrobat viewer rum..
also anzeigen tut er es einwandfrei..
erst habe ich bemerkt das der drucken butten net geht.. na egal..
hab gedacht da gibts ja methoden um den auszublenden(brauch ich eh net)
nachdem alles soweit fertig war wollte ich den button ausblenden..(eigentlich mehrere, denn ich brauch nur 
die um die seiten anzuschaun also vorwärts/rückwärts blättern, zoom usw)
leider klappt das nicht!!! und da haben alle das prob 
dann wollte ich die ganze leiste wegmachen und die sachen die ich brauche selber erstellen

viewer.activateWithoutBars();

macht die menu buttons alle wech.. ok zoomen usw hab ich hinbekommen, aber blättern usw. funzt net.

weiss mir einer ne lösung??
am besten wär ein anderer viewer denn ich in mein fenster adden kann..
ich tu da schon ewig rum und find nichts...

schon mal vielen dank an alle die ne idee haben.. 
sollte aber freeware sein 

da ist der link von dem viewer den ich jetzt verwende
http://today.java.net/pub/a/today/2005/10/20/accessing-pdf-with-acrobat-viewer-javabean.html


----------

