PDF öffnen mit Acrobat Reader

Status
Nicht offen für weitere Antworten.

phyrexianer

Bekanntes Mitglied
hab nur eine Kurze Frage ;-)

im selben verzeichniss wie meine Jar liegt auch eine PDF datei welche ich mit dem auf dem jeweiligen Rechner befindlichen Software öffnen will.

soll also das gleiche passieren als wenn ich im Explorer auf ein PDF-File klicke

geht dieser aufruf mit einem relativen Pfad ??? wie lautet der "korrekte" cmd-Befehl ???

Code:
Runtime.getRuntime().exec("L15001d.pdf");

über die Kommandozeile reicht dieses aus wenn ich mich in dem Ordner befinde in dem die Datei liegt...
 
würd es eh mit der Klasse Desktop machen..
so in der richtung..

Code:
if (Desktop.isDesktopSupported()){
     Desktop dt = Desktop.getDesktop();
     try {
    	dt.open(new File (c:\\temp\\test.pdf));
    }catch (Exception ex){
    	ex.printStackTrace();
    }
}

wenn du es mit runtime machen musst muss glaub ich ein "cmd /c" vor dem Pfad stehen
Aber wie gesagt.. ab java 1.6 gibt es die Klasse Desktop und mit der klappts einwandfrei
wenn dateiart dem betriebssystem schon bekannt ist.
 
Hallo, weiß einer zufällig wie ich den Acrobat dazu bringe eine bestimmte Seite aufzurufen?
Möchte Dokument A mit Seite 12 z.B. aufrufen.
Für HTML habe ich was gefunden, da hängt man einfach nur "#page=12" an, dies geht allerdings hier nicht.
Wäre super wenn jemand ne Idee hat.
 
Desktop ist natürlich was feines. Bei Java 1.5 muss man etwas basteln und bekommt das so einfach auch nicht Plattformunabhängig hin.

Für Windows ab Win2000 funktioniert:
Code:
Runtime.getRuntime().exec("cmd.exe /c start /b handbuch.pdf");
wichtig ist das start, dadurch wird das Standardprogramm für PDF geöffnet.

für 95, 98, ME:
Code:
Runtime.getRuntime().exec("start.exe /c  handbuch.pdf");

Für MacOS:
Code:
Runtime.getRuntime().exec("open handbuch.pdf");

Für Linux gibts da nichts für <1.6, da bleibt einem anscheinend nur die Möglichkeit mehrere PDF Programme auszuprobieren und zu hoffen, das eines davon auch installiert ist. Die KDEs kann mit
Code:
Runtime.getRuntime().exec("konqueror handbuch.pdf");
abdecken, bei gnome sollte eigentlich immer ein
Code:
Runtime.getRuntime().exec("evince handbuch.pdf");
funktionieren (das sollte eigentlich schon 99% abdecken, die beiden werden eigentlich von allen Distris mitgeliefert). Zur Sicherheit sollte man aber auch die anderen Programme überprüfen (z.B. kpdf, okular, acroread (das ist der orginal Acrobat Reader, wenn du den natürlich in den Programmanforderungen drin stehen hast würde ich den auch benutzen)), und wenn keines davon gefunden wurde (dürfte sehr sehr unwahrscheinlich sein, aber sicher ist sicher) einen Hinweis für den Nutzer anzeigen.
 
Hallo,
wie funktioniert es, wenn die jar auf einem usb-stick liegt. da habe ich ja keinen festen pfad.
kann mir da jemand helfen ?

DANKE
 
Was hat die jar mit dem PDF zum tun?

Nachtrag: Achso, weils im gleichen Pfad liegt! Probiers über die System Variablen auslesen (user.dir)
 
unter linux ruft man einfach "see Dateiname" auf, das kümmert sich um die passende anwendung für den typ
 
Also ich habs immer so gemacht, wenn das pdf im gleichen Verzeichnis wie das jar liegt
Code:
File file = new File("");
    	String pfad=file.getAbsolutePath();  
    	try {
			Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+pfad+"\\"+"Kurzanleitung.pdf");
		} catch (IOException e1) {
			JOptionPane.showMessageDialog(null,"Die Dokumentation liegt nicht im erwatetem Verzeichnis.");
		}

Hoffe ich konnte Dir helfen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben