Ich bin gerade dabei, die Bibliothek JMuPdf mir anzuschauen, da wir sie im Unternehmen für das Rendering von PDF Dateien in unserer Anwendung einsetzen wollen. Bisher hatten wir hier die PDF Renderer Bibliothek im Einsatz. Diese wird aber leider nicht mehr weiterentwickelt und kann auch schon einige PDF Dateien nicht mehr anzeigen, die bei uns unterwegs sind. Da werden irgendwelche Features nicht unterstützt und in der Konsole sind man auch die entsprechenden Meldungen durchrutschen.
Da wir unsere Anwendung mit Java Web Start verteilen, wollte ich erst einmal testen, ob das mit der Bibliothek auch funktioniert. Netterweise ist im JAR File auch gleich ein fertiger Viewer enthalten. Also habe ich das JAR File signiert und samt den beiden DLLs jmupdf32.dll und jmupdf64.dll auf unseren internen Webserver kopiert. Dann noch kurz ein JNLP File gebastelt:
Bei <Serveradresse> würde natürlich die IP Adresse unseres Servers stehen. 
Wenn ich jedoch die Adresse der JNLP Datei in den Browser eingebe und Java Web Start loslegt, bekomme ich jedes Mal eine Fehlermeldung:
Ausnahme:
Gekapselte Ausnahme:
Das Interessante daran: Sobald ich die folgenden Zeilen entfernen, läuft Java Web Start ohne Probleme durch und installiert die Anwendung. :cry:
Hat jemand von Euch dafür eine Erklärung?
Das würde mir sehr helfen.
Da wir unsere Anwendung mit Java Web Start verteilen, wollte ich erst einmal testen, ob das mit der Bibliothek auch funktioniert. Netterweise ist im JAR File auch gleich ein fertiger Viewer enthalten. Also habe ich das JAR File signiert und samt den beiden DLLs jmupdf32.dll und jmupdf64.dll auf unseren internen Webserver kopiert. Dann noch kurz ein JNLP File gebastelt:
Code:
<?xml version="1.0" encoding="windows-1252"?>
<jnlp spec="1.0+" codebase="http://<Serveradresse>/pdf" href="JMuPdf.jnlp">
<information>
<title>JMuPdf</title>
<vendor>Pedro Rivera</vendor>
<homepage href="/index.html" />
<description>Test für die PDF Bibliothek</description>
<description kind="short">JMuPdf Viewer</description>
<shortcut online="false">
<desktop />
<menu submenu="JMuPdf" />
</shortcut>
</information>
<security>
<all-permissions />
</security>
<resources>
<j2se version="1.6.0+" java-vm-args="-Xmx1024M" />
<jar href="JMuPdf.jar" />
</resources>
<resources os="Windows">
<nativelib href="jmupdf32.dll" />
<nativelib href="jmupdf64.dll" />
</resources>
<application-desc main-class="com.jmupdf.swing.Main" />
</jnlp>
Wenn ich jedoch die Adresse der JNLP Datei in den Browser eingebe und Java Web Start loslegt, bekomme ich jedes Mal eine Fehlermeldung:
Ausnahme:
Code:
com.sun.deploy.net.FailedDownloadException: Ressource konnte nicht geladen werden: http://10.101.100.170/apps/pdf/jmupdf32.dll
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Gekapselte Ausnahme:
Code:
java.io.IOException: Invalid jar file
at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Das Interessante daran: Sobald ich die folgenden Zeilen entfernen, läuft Java Web Start ohne Probleme durch und installiert die Anwendung. :cry:
Code:
<resources os="Windows">
<nativelib href="jmupdf32.dll" />
<nativelib href="jmupdf64.dll" />
</resources>
Zuletzt bearbeitet: