PDF mit Lesezeichen (nameddest) öffnen

meister-g

Bekanntes Mitglied
Hallo,

wieder einmal habe ich ein Problem, das vom Thema her eigentlich oft auftreten sollte, die Webrecherche allerdings gar nichts ergab.

Simple Aufgabe:
Ein PDF öffnen und zu öffnen und zu einem Lesezeichen (nameddest springen).
Kann wegen mir auch den Acrobat Reader erfordern, muss aber nicht. Plattformabhängigkeit bzw sauberer Code wäre wichtiger.

So etwas funktioniert auf meinem System, möchte ich aber natürlich vermeiden
Java:
Runtime.getRuntime().exec("cmd.exe /c start acrord32.exe /A \"page=2\" \"pfad\meinpdf.pdf\");

Das bringt auch nichts, weil ich keine Paramter übergeben kann und plattformabhängig:
Java:
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + path);
Runtime.getRuntime().exec("cmd.exe /c start " + path);

Das schreit doch nach der Desktop Klasse.
Desktop.open() habe ich wieder das Parameterproblem.

Java:
Desktop desktop = Desktop.getDesktop();
		try { 
			String path = file.toURI().toString + "#page=2";
			URI uri = new URI(path);
			desktop.browse(uri);

		} catch (Exception e) { e.printStackTrace();}

Das öffnet nicht wie in der JavaDoc beschrieben den Browser, aber wie den Standard-Reader bzw Acrobat. Das passt auch so.
Problem: Der Parameter kommt nicht an.
Gebe ich die gleiche url (z.B. uri.toString() in meinen Browser ein wird zu Seite 2 gesprungen (statt #page=2 soll es einmal #sprungmarke werden).
Ist das nicht sogar ein Bug der JVM oder vom Betriebssystem wenn die Parameter nicht weitergeleitet werden?

Hinweise:
Dem Acrobat Reader kann ich sowohl als Paramteraufruf a la
acrobat.exe /A "page=2" "C:\meinpdf.pdf"
als auch als url ala
File://meinpfad/meinpdf.pdf#page=2
Parameter/Lesezeichen übergeben.

Jemand eine Idee?
Oder doch mit der ersten gelisteten Variante realisieren
 
Zuletzt bearbeitet:

hansmueller

Bekanntes Mitglied
Hallo,

ich habe mal zum Test eine pdf-Datei (lokal auf der Festplatte) mit Firefox über "Datei öffnen..." geöffnet.
Dann kam ein Fenster in dem nachgefragt wurde, ob er es mit dem Acobe Reader öffnen sollte oder die Datei speichern soll.
In dem Fenster stand nicht nur der Name der Datei, sondern auch der Speicherort.
Das Öffnen mit hat wunderbar geklappt und mir wurde die erste Seite des pdf-Dokumentes angezeigt.

Dann habe ich die pdf-URL in der Adressleiste von Firefox um den Zusatz "#page=2" ergänzt und auf Enter gedrückt.
Es kam wieder das oben beschriebene Fenster. (Exakt das Gleiche, mit dem gleichen Inhalt. Da stand nicht mit "#page=2".) Nach der Bestätigung, daß er es mir mit dem Reader öffnen sollte, wurde auch das Dokument geöffnet.
ABER nicht auf Seite 2, sonder wieder auf Seite 1.

Ich vermute, das es sich hierbei nicht um einen Bug der JVM handelt, sondern daß der Browser den Zusatz einfach wegläßt.
Wenn bei dir die Seite 2 angezeigt wird, dann könnte es daran liegen, daß dein Adobe Reader sich die Seite, die zuletzt angezeigt wurde gemerkt hat und das Dokument daher wieder an der gleichen Stelle öffnet.
Oder du benutzt einen Browser, der in der Lage ist so einen zusätzlichen Parameter zu übergeben.

Ich schätze mal, das du mit
Code:
desktop.open(File file)
auch nicht weiterkommst, da man hier auch keine Parameter übergeben kann.

Ansonsten fällt mir dazu sonst nichts weiter ein. Sorry.

MfG
hansmueller
 

meister-g

Bekanntes Mitglied
Hi,

ich wollte dieses Thema noch einmal aufwärmen.
Die einzige funktionierende Lösung ist nicht nur hässlich, sondern Spuckt auch eine hässliche Fehlermeldung, wenn der AcrobatReader nicht installiert ist.

Nächst unschöne Variante wäre, dass ich ein externes Tool verwende. Konkret eine Windowsanwendung, da ich mit Delphi leicht ein Acrobar-Reader Plugin realisieren kann.
 

hansmueller

Bekanntes Mitglied
Hallo,

ich habe mal gelesen, daß es diverse Java-Bibliotheken gibt, mit denen man PDF auslesen und bearbeiten kann. Es sollte also auch möglich sein einen reinen Java-PDF-Reader zu erstellen. Diesen Java-PDF-Reader müßtest du dann "nur noch" in dein Programm integrieren.

Habe mal gegoogelt und "Apache PDFBox" gefunden.
Man müßte nur noch rausfinden, ob das Teil auch mit Lesezeichen umgehen kann.

Das dürfte wahrscheinlich die sauberste Lösung sein, aber auch die aufwendigste.

MfG
hansmueller
 

domjoe

Mitglied
Hallo,

bin gerade am googeln und würde das Thema gerne noch einmal aufwärmen.
Wie sieht es denn aus, sich mit der Methode "FindExecutable" der "shell32" vorher den String zum Standardprogramm zu holen!
Ich selbst habe es leider noch nicht hinbekommen!

Grüße,

domjoe
 

b0312

Mitglied
Also ich hab mal in der Schule an einem Projekt mit Java&PDF gearbeitet,
mit der iText API, damit wirst du sicher einiges machen können, wir haben damit PDFs signiert, die Keywords manipuliert etc.

greeTz*
B0312
 

domjoe

Mitglied
Ja, ich kenne itext. Benutze es sogar in diesem Zusammenhang! Ich greife auf die Bookmarks zu, und suche nach einem String, dann wird mir ne HashMap zurück gegeben und ich kann auf die Seitenzahl zugreifen. Jetzt möchte ich diese Seite einfach nur noch öffnen!
In itext konnte ich aber auch keine Informationen zum öffnen eines PDFs finden!

Grüße,

Jörn
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E java mithilfe url .jar datei öffnen Allgemeine Java-Themen 9
E Input/Output Eigene Datei mit java öffnen Allgemeine Java-Themen 9
J4n5chmiddi Methoden Website-URL im Browser öffnen nach erfolgreicher Basisauthentifizierung in Java Allgemeine Java-Themen 12
kodela bestimmten Dateityp immer mit jar-Datei öffnen Allgemeine Java-Themen 17
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P Input/Output entfernte Datei mit Java öffnen ohne Download Allgemeine Java-Themen 5
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
G Excel File öffnen, in Zelle schreiben, abspeichern Allgemeine Java-Themen 6
J ASCM - In Linux öffnen Allgemeine Java-Themen 3
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
D Jar Datein öffnen Allgemeine Java-Themen 9
offi Excel mit Inhalten aus DB öffnen ohne zu speichern Allgemeine Java-Themen 8
E GUI.jfm lässt sich nicht mehr öffnen Allgemeine Java-Themen 1
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
J Internet Broswer in Threads öffnen Allgemeine Java-Themen 1
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
L Input/Output InputStream öffnen? Allgemeine Java-Themen 12
Z Worddokument öffnen Allgemeine Java-Themen 28
G Java Datei öffnen Allgemeine Java-Themen 9
K Mit Button neue Klasse öffnen Allgemeine Java-Themen 9
Developer_X Java kann Dateipfad nicht öffnen Allgemeine Java-Themen 17
T Url aus txt Datei auslesen und öffnen? Allgemeine Java-Themen 4
X Console mit Argument öffnen? Allgemeine Java-Themen 10
J Batch datei öffnen und als Admin ausführen Allgemeine Java-Themen 43
T Datei öffnen mit eigener Applikation.exe Allgemeine Java-Themen 4
Tacofan Sound beim öffnen der GUI Allgemeine Java-Themen 8
L Jar lässt sich nicht öffnen Allgemeine Java-Themen 12
HarleyDavidson Input/Output Heruntergeladene Datei direkt nach dem Download öffnen ohne zu speichern Allgemeine Java-Themen 1
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
F Klassen Klasse bei Button klick öffnen Allgemeine Java-Themen 11
T Nach Java Update: Jar Datein öffnen sich nicht mehr mit doppelklick Allgemeine Java-Themen 3
L Videodateien über Java öffnen unabhängig vom Format Allgemeine Java-Themen 4
W Threads Mit Thread und Runtime externe Programme öffnen Allgemeine Java-Themen 0
F Eigene .jar mit anderer .jar öffnen Allgemeine Java-Themen 7
G Datei per Drag and Drop auf den Link öffnen Allgemeine Java-Themen 6
A jEditorPane Html Datei öffnen (code) Allgemeine Java-Themen 3
P programm öffnen mit der runtime Allgemeine Java-Themen 9
J .bat .jar öffnen Allgemeine Java-Themen 27
G .jar Dateien lassen sich nicht mehr öffnen Allgemeine Java-Themen 2
N Input/Output Mit Windows 7 erzeugtes zip-File in Java 7 öffnen Allgemeine Java-Themen 5
M Datentypen Jar-Dateien öffnen nicht mit Java Allgemeine Java-Themen 4
B Ordner öffnen mittels Java in Linux-Umgebung Allgemeine Java-Themen 7
J Java Datei durch Java Datei öffnen Allgemeine Java-Themen 16
N Datei aus Datenbank öffnen mit Standardanwendung Allgemeine Java-Themen 2
Crashbreaker RCP-View Image öffnen und darstellen Allgemeine Java-Themen 7
S jar Datei mit Java Programm öffnen Allgemeine Java-Themen 3
G Java EE, Datei öffnen, HeadlessException Allgemeine Java-Themen 3
S Datei aus zip öffnen ohne zip zu entpacken Allgemeine Java-Themen 4
P Klasse aus String öffnen Allgemeine Java-Themen 8
P .mp3 mit Standart Programm öffnen Allgemeine Java-Themen 4
F Datei aus dem Internet öffnen Allgemeine Java-Themen 7
K Dokument mit Standardprogramm öffnen Allgemeine Java-Themen 2
L CMD über Java öffnen Allgemeine Java-Themen 8
S InternetExplorer mit URL öffnen und diese zyklisch wechseln Allgemeine Java-Themen 6
D Kleine Frage zum öffnen eines Fensters Allgemeine Java-Themen 10
A Email-Programm aus Applet öffnen Allgemeine Java-Themen 4
V Mac: Paketinhalt eins Files öffnen, wie? Allgemeine Java-Themen 3
E Internetbrowser öffnen Allgemeine Java-Themen 2
J Dateien öffnen und Binärausgeben Allgemeine Java-Themen 20
S Windows "öffnen mit..." Allgemeine Java-Themen 4
S File im windowexploer öffnen über java Allgemeine Java-Themen 6
S PDF in Java öffnen Allgemeine Java-Themen 4
S Mit einem jButton eine andere Klasse öffnen Allgemeine Java-Themen 2
L mit Button jar.Datei öffnen? Allgemeine Java-Themen 5
1 URL mit Button öffnen Allgemeine Java-Themen 29
C Environment Variable in Pfad -> Datei öffnen Allgemeine Java-Themen 5
destroflyer Datei mit Java öffnen Allgemeine Java-Themen 3
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
W Webseite öffnen und Link anklicken Allgemeine Java-Themen 2
J Java-Datei unter Mac OS X öffnen - eine Frage der Klasse Allgemeine Java-Themen 2
S Textdatei mit externen Editor öffnen Allgemeine Java-Themen 8
F PDF öffnen und zu Seite wechseln Allgemeine Java-Themen 3
Taschenschieber Webseite im Browser öffnen Allgemeine Java-Themen 3
P Link in einem ausgewählten Browser öffnen Allgemeine Java-Themen 10
V Dateien mit Java öffnen Allgemeine Java-Themen 3
H aus Java-Programm Dateien öffnen Allgemeine Java-Themen 5
lumo Datei mit dem standardprogramm öffnen... Allgemeine Java-Themen 2
Blacky_82 word-Vorlage in java öffnen Allgemeine Java-Themen 4
W passwortgeschützte archive mit java öffnen Allgemeine Java-Themen 8
V Dateien mit &-Zeichen im Namen öffnen Allgemeine Java-Themen 13
S Passwort geschützte Excel Datei öffnen (POI) Allgemeine Java-Themen 4
Escorter PDF öffnen Allgemeine Java-Themen 4
M Java programm über cmd öffnen Allgemeine Java-Themen 2
Schandro Datei öffnen mit... Bestimmten Dateityp mit einen Java-Programm öffnen lassen Allgemeine Java-Themen 5
V Windows Explorer öffnen? Allgemeine Java-Themen 5
M .txt Datei öffnen und jede Zeile mit festem String verketten Allgemeine Java-Themen 5
X Wie verdammt große Datein öffnen? Allgemeine Java-Themen 2
D mit Java das Programm "Editor" öffnen Allgemeine Java-Themen 7
S Link im Browser öffnen Allgemeine Java-Themen 10
F Document öffnen unter Linux Allgemeine Java-Themen 4
T Mit Applet per RandomAccessFile Datei öffnen Allgemeine Java-Themen 3
A Excel-Datei öffnen Allgemeine Java-Themen 9
F CSV Datei öffnen aus JSP heraus ? Allgemeine Java-Themen 4
A jpeg Files mit eigenem Programm öffnen Allgemeine Java-Themen 4
J Datei öffnen mit Allgemeine Java-Themen 2
R Pdf öffnen, das von iText erstellt wurde Allgemeine Java-Themen 4
P jar-File mit "java.exe -jar" unter Vista öffnen Allgemeine Java-Themen 10
E Eine .wsp datei in java öffnen auslesen und verändern Allgemeine Java-Themen 4
E textdatei über "öffnen mit" aufrufen Allgemeine Java-Themen 6
B Browser link aus Java-Applikation öffnen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben