PDF Datei in Java einbinden

Feminato

Mitglied
Hallo Zusammen
Ich habe da ein kleines Problem: Ich habe ein Programm entwickelt das per Knopfdruck eine gewisse PDF Datei öffnet. Das ganze funktioniert auch Super aber wenn ich die Datei auf einem anderem Rechner starte, öffnet sich kein PDF weil die Verknüpfung ja nicht stimmt. Ist ja logisch.
Nun müsste ich aber immer den ganzen Ordner mitschicken um das Programm auf einem anderem Rechner richtig nutzen zu können. Das will ich aber nicht. Ich denke es gibt sicher eine Möglichkeit das PDF in das JRE einzubinden. Jedoch weiß ich nicht wie 😵
Ich hoffe ihr könnt mir helfen 🙂

~Feminato
 
Man kann Dateien wie z.B. Bilder und Audiodateien zusammen als Projekt kompilieren, wenn diese in einem Ordner (bzw. "package") in deiner Projektmappe zu finden sind. Das ganze Projekt kannst du dann z.B. als .jar kompilieren, und somit sind alle Dateien auch portabel.
 
Hallo,

Was @Nuiton glaube ich meint ist, das du dir einen Ressourcen-Order in deinem Projekt-Ordner anlegen kannst.
Dann musst du nicht über den asoluten Pfad gehen, sondern kannst einen relativen gehen 😉
Java:
//Also sprich statt: 
new File("Benutzer\Bla\Dokumente\WasAuchImmer.pdf");

//einfach nur ein 
new File("ressourcen/WasAuchImmer.pdf");
Dein Projekt-Verzeichnis ist übrigens dass, wo src und bin oder build oder wie auch immer du das genannt hast, drin ist 😉
 
Und wenn du
Code:
\
verwendest in Java Strings (wie im oben dargestellten absoluten Path), dann nimm bitte den Doppelbackslash:
Code:
\\
, sonst gibts entweder Compile Errors oder komische Sachen...
 
Ivh benutz Linux, und wollte das eigentlich einfach nur mit dem Windows Trennzeichen machen, auch wenn ich da keine Ahnung von hab... Da hätt ich vilt mal was nachlesen sollen, danke 😀

Ist halt allgemein so, dass der \ in Java ein EscapedChar einleitet.
D.h. \\ wird übersetzt zu \, \0 wird übersetzt zum char mit Wert 0, \n ist der Zeilenumbruch, \u8080 ist der Unicodecharakter mit Wert 8080, etc., etc.
und wenn du Jetzt zB Path\Zu\Dir eingibst, kommt ein Compile Error weil er \Z nicht als Zeichen erkennt
 
Hallo,

Was @Nuiton glaube ich meint ist, das du dir einen Ressourcen-Order in deinem Projekt-Ordner anlegen kannst.
Dann musst du nicht über den asoluten Pfad gehen, sondern kannst einen relativen gehen 😉
Java:
//Also sprich statt:
new File("Benutzer\Bla\Dokumente\WasAuchImmer.pdf");

//einfach nur ein
new File("ressourcen/WasAuchImmer.pdf");
Dein Projekt-Verzeichnis ist übrigens dass, wo src und bin oder build oder wie auch immer du das genannt hast, drin ist 😉
Danke für den Tipp 🙂 Jedoch habe ich noch ein Problem 😵
Wenn ich über den Relativen Pfad gehe und die Datei in Eclipse eingefügt ist funktioniert das Ganze problemlos. Wenn ich die Datei aber Exportiere tut sich nichts wenn ich den Button drücke 😕 Ich habe mal die .jar mit WinRar geöffnet, die .pdf Dateien waren vorhanden. Muss ich echt eine spezielle Einstellung beim Exportieren machen?
Danke 🙂

~Feminato
 
Java:
new File(DeineKlasse.class.getResource("pfad/zur/datei.pdf").getFile());
Geht immer noch nicht wenn ich es exportiere 😵 In Eclipse klappt es aber ...
Hier mal der Code:
Java:
tb4.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        Desktop.getDesktop().open(new File(klasse.class.getResource("Titelblatt.pdf").getFile()));
                    } catch (IOException ex) {
                       ex.printStackTrace();
                    }
                }
            }
        });
 
Probier mal:
Java:
Desktop desktop = Desktop.getDesktop();
if (desktop != null && desktop.isSupported(Desktop.Action.OPEN)) {
  desktop.open(new File("Titelblatt.pdf"));
}
 
Probier mal:
Java:
Desktop desktop = Desktop.getDesktop();
if (desktop != null && desktop.isSupported(Desktop.Action.OPEN)) {
  desktop.open(new File("Titelblatt.pdf"));
}
Es kommt ein Error, als quick fix wird mir ein try catch vorgeschlagen. Mit dem try catch geht es in Eclipse, wenn ich es aber exportiere funktioniert es immer noch nicht 🙁
 
wenn ich es aber exportiere funktioniert es immer noch nicht 🙁
Wie exportierst du denn?
Zu einer JAR oder was machst du?
Wenn ja, dann solltest du dein Projekt zu einem Mavenprojekt machen 😉 Ich hatte das gleiche Problem mal mit Bildern, das die JAR einfach nicht erkannt hat, wo die Bilder liegen.
 
Zuletzt bearbeitet:
Ich exportiere die Datei als Runnable JAR file. Habe nun ein Mavenprojekt angelegt. Funktioniert immer noch nicht 🙁 Ich probiere es nun mal auf meinem 2. Rechner ...
 

Zurück
Oben