TausB
Anmeldungsdatum: 26. November 2009
Beiträge: 1562
Wohnort: Terra incognita
|
Hallo! Ich verwende PDF Split and Merge (manuell installiert). Leider funktioniert die Miniaturansicht nicht. Die Fehlermeldung im Terminal lautet:
ERROR JPodThmbnailCallable Miniaturansicht konnte nicht erstellt werden
java.lang.NoClassDefFoundError: Could not initialize class de.intarsys.cwt.freetype.Freetype
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.getLibrary(Unknown Source)
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.createPlatformFont(Unknown Source)
at de.intarsys.pdf.platform.cwt.rendering.CSPlatformDevice.textSetFont(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.render_Tf(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.process(Unknown Source)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:96)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:48)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Eine Suche im Internet nach "ERROR JPodThmbnailCallable" war erfolglos. TausB EDIT: Der Fehler tritt in den Programmversionen 2.2.2 als auch in der 2.2.4 auf.
|
STRAGIC-IT
Anmeldungsdatum: 3. Januar 2006
Beiträge: 3242
Wohnort: Fürth
|
Hallo TausB,
laut der Meldung fehlt etwas für FREETYPE - vermutlich wird das zum "rendern" benötigt. Suche doch mal in der Paketverwaltung nach freetype und dann, bei den angebotenen Modulen nach java. Das installierst Du mal dazu. Gehört bestimmt nicht zur Standardinstallation bei Linux. Bye
HS
|
TausB
(Themenstarter)
Anmeldungsdatum: 26. November 2009
Beiträge: 1562
Wohnort: Terra incognita
|
STRAGIC-IT schrieb: Suche doch mal in der Paketverwaltung nach freetype und dann, bei den angebotenen Modulen nach java. Das installierst Du mal dazu.
Danke für den Tipp, aber: Habe libisfreetype-java gefunden und installiert, jedoch keine Verbesserung ...
|
eheck
Anmeldungsdatum: 7. Juli 2009
Beiträge: Zähle...
|
Hallo, wir haben die Bibliothek gebaut, die pdfsam da verwendet (wird zum rendern von Text gebraucht). Ist das die ganze Meldung? Normalerweise müssten darunter noch Zusatzinformationen kommen. Auf den ersten Blick sieht es tatsächlich danach aus, als ob eine Abhängigkeit fehlt. Meistens ist das JNA. Hast du jna.jar? Falls nicht, gibt es das bei https://github.com/twall/jna. Die Freetype-Schnittstelle ist mit allen einigermaßen neuen JNA-Versionen kompatibel. Dann musst du noch dafür sorgen, dass es im Java-Classpath ist, damit pdfsam das auch findet. Ich weiß aber nicht, wie pdfsam gestartet wird, deshalb kann ich dir dazu nichts sagen. PS. libisfreetype-java enthält die gleichen Klassen, die bei dir nicht geladen werden können, allerdings vermutlich in einer älteren Version. Ich empfehle dir, das wieder zu löschen und nur die Version, die bei pdfsam dabei ist, zu behalten. Außerdem weiß ich nicht, ob der Autor von pdfsam evtl. Modifikationen vorgenommen hat. PPS. Die aktuellen Versionen sind auf https://sourceforge.net/projects/jpodlib/ bzw. https://sourceforge.net/projects/jpodrenderer/ . Andere Repositories können wir aus Zeitmangel nicht pflegen. Alle Versionen in anderen Repositories wurden von Community-Mitgliedern dort veröffentlicht.
|
TausB
(Themenstarter)
Anmeldungsdatum: 26. November 2009
Beiträge: 1562
Wohnort: Terra incognita
|
eheck schrieb: Hallo, wir haben die Bibliothek gebaut, die pdfsam da verwendet (wird zum rendern von Text gebraucht). Ist das die ganze Meldung? Normalerweise müssten darunter noch Zusatzinformationen kommen.
Noch einmal "frisch" und komplett:
12:22:45,634 INFO JMainFrame Starting PDF Split and Merge basic Ver. 2.2.4
12:22:45,684 INFO XmlConfigurationService Loading configuration..
12:22:45,754 INFO XmlConfigurationService Getting language...
12:22:45,759 INFO XmlConfigurationService Erscheinungsbild wird festgelegt ...
12:22:45,765 INFO XmlConfigurationService Protokollierungsstufe wird festgelegt ...
12:22:45,767 INFO XmlConfigurationService Thumbnails size set to 270
12:22:45,769 INFO XmlConfigurationService Thumbnails high quality true
12:22:45,840 INFO Configuration Protokollierungsstufe gesetzt auf DEBUG
12:22:45,955 INFO PlugInsLoader Drehen Plugin geladen.
12:22:46,001 INFO PlugInsLoader Teilen Plugin geladen.
12:22:46,028 INFO PlugInsLoader Zusammenführen/Extrahieren Plugin geladen.
12:22:46,084 INFO PlugInsLoader Visuelle Dokumentzusammenstellung Plugin geladen.
12:22:46,117 INFO PlugInsLoader Verschachteln Plugin geladen.
12:22:46,142 INFO PlugInsLoader Visuelle Seitenbearbeitung Plugin geladen.
12:22:46,360 INFO JMainFrame PDF Split and Merge basic Ver. 2.2.4 gestartet in 0 seconds
12:22:46,362 INFO XmlGuiConfigurationService Konfiguration der Benutzeroberfläche wird geladen..
12:22:51,293 DEBUG UpdateManager Verfügbarkeit neuer Version wird überprüft.
12:22:51,960 INFO UpdateCheckerMediator$UpdateChecker Keine neue Version verfügbar.
12:22:55,394 DEBUG PdfThumbnailsLoader Erzeugen der Miniaturansichten mit folgender Bibliothek: Itarsys JPodRenderer
12:22:55,693 ERROR JPodThmbnailCallable Miniaturansicht konnte nicht erstellt werden
java.lang.NoClassDefFoundError: Could not initialize class de.intarsys.cwt.freetype.Freetype
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.getLibrary(Unknown Source)
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.createPlatformFont(Unknown Source)
at de.intarsys.pdf.platform.cwt.rendering.CSPlatformDevice.textSetFont(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.render_Tf(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.process(Unknown Source)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:96)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:48)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
12:22:55,697 ERROR JPodThmbnailCallable Miniaturansicht konnte nicht erstellt werden
java.lang.ExceptionInInitializerError
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.getLibrary(Unknown Source)
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.createPlatformFont(Unknown Source)
at de.intarsys.pdf.platform.cwt.rendering.CSPlatformDevice.textSetFont(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.render_Tf(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.process(Unknown Source)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:96)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:48)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException: no native interface available
at de.intarsys.nativec.api.NativeInterface.set(Unknown Source)
at de.intarsys.nativec.api.NativeInterface.get(Unknown Source)
at de.intarsys.cwt.freetype.nativec._FTNI.init(Unknown Source)
at de.intarsys.cwt.freetype.nativec._FTNI.<init>(Unknown Source)
at de.intarsys.cwt.freetype.Freetype.<clinit>(Unknown Source)
... 13 more
12:22:55,699 ERROR JPodThmbnailCallable Miniaturansicht konnte nicht erstellt werden
java.lang.NoClassDefFoundError: Could not initialize class de.intarsys.cwt.freetype.Freetype
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.getLibrary(Unknown Source)
at de.intarsys.pdf.platform.cwt.font.freetype.FreetypeFontFactory.createPlatformFont(Unknown Source)
at de.intarsys.pdf.platform.cwt.rendering.CSPlatformDevice.textSetFont(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.render_Tf(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSInterpreter.process(Unknown Source)
at de.intarsys.pdf.content.CSDeviceBasedInterpreter.process(Unknown Source)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:96)
at org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable.call(JPodThmbnailCallable.java:48)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
12:22:55,716 DEBUG ThumbnailsExecutor$Invoker Thumbnails generated in 146ms
12:23:16,427 DEBUG XmlGuiConfigurationService Konfiguration der Benutzeroberfläche wird gespeichert.. Auf den ersten Blick sieht es tatsächlich danach aus, als ob eine Abhängigkeit fehlt. Meistens ist das JNA. Hast du jna.jar? Falls nicht, gibt es das bei https://github.com/twall/jna. Die Freetype-Schnittstelle ist mit allen einigermaßen neuen JNA-Versionen kompatibel. Dann musst du noch dafür sorgen, dass es im Java-Classpath ist, damit pdfsam das auch findet. Ich weiß aber nicht, wie pdfsam gestartet wird, deshalb kann ich dir dazu nichts sagen.
Ja, liegt im /ext-Pfad von pdfsam. Habe diese mit einem Archivmanager geöffnet, die enthaltenen Dateien haben das Datum: 20.07.2010. Habe mal versuchsweise die neuere jna.jar aus dem Link genommen; keine Veränderung.
PS. libisfreetype-java enthält die gleichen Klassen, die bei dir nicht geladen werden können, allerdings vermutlich in einer älteren Version. Ich empfehle dir, das wieder zu löschen und nur die Version, die bei pdfsam dabei ist, zu behalten. Außerdem weiß ich nicht, ob der Autor von pdfsam evtl. Modifikationen vorgenommen hat.
Ist wieder gelöscht. 😉
PPS. Die aktuellen Versionen sind auf https://sourceforge.net/projects/jpodlib/ bzw. https://sourceforge.net/projects/jpodrenderer/ . Andere Repositories können wir aus Zeitmangel nicht pflegen. Alle Versionen in anderen Repositories wurden von Community-Mitgliedern dort veröffentlicht.
Verständnisfrage (bin kein Informatiker): Was ist dann damit zu tun? TausB
|
eheck
Anmeldungsdatum: 7. Juli 2009
Beiträge: 7
|
Habe mal versuchsweise die neuere jna.jar aus dem Link genommen; keine Veränderung.
Dann findet das Programm die Datei anscheinend nicht. Zumindest ist das normalerweise der Grund, wenn "no native interface available" gemeldet wird. Startest du pdfsam mit einem Skript? Steht da was von "CLASSPATH" drin und kannst du das mal ausgeben? Dann müsstest du noch ein isnativec.jar haben. Da sollte in "META-INF" ein Unterverzeichnis "services" sein mit einer Datei drin. Ist die da? Verständnisfrage (bin kein Informatiker): Was ist dann damit zu tun?
Das war nur zur Information. Falls du nicht vorhast, irgendwas durch aktuellere Versionen auszutauschen, ist damit nichts zu tun.
|
TausB
(Themenstarter)
Anmeldungsdatum: 26. November 2009
Beiträge: 1562
Wohnort: Terra incognita
|
eheck schrieb: Habe mal versuchsweise die neuere jna.jar aus dem Link genommen; keine Veränderung.
Dann findet das Programm die Datei anscheinend nicht. Zumindest ist das normalerweise der Grund, wenn "no native interface available" gemeldet wird. Startest du pdfsam mit einem Skript?
Ja, der Inhalt ist:
| java -jar "./pdfsam-2.2.4.jar"
|
Steht da was von "CLASSPATH" drin und kannst du das mal ausgeben?
Nein...
Dann müsstest du noch ein isnativec.jar haben.
Ja, siehe auch Ungültiges MakroDieses Makro ist nicht verfügbar
Da sollte in "META-INF" ein Unterverzeichnis "services" sein mit einer Datei drin. Ist die da?
Nein. Der Inhalt ist:
/provider
MANIFEST.MF
PROJECTS.MF
Verständnisfrage (bin kein Informatiker): Was ist dann damit zu tun?
Das war nur zur Information. Falls du nicht vorhast, irgendwas durch aktuellere Versionen auszutauschen, ist damit nichts zu tun.
O.k. TausB
- Bilder
|
eheck
Anmeldungsdatum: 7. Juli 2009
Beiträge: 7
|
Ja, der Inhalt ist:
| java -jar "./pdfsam-2.2.4.jar"
|
Dann lädt pdfsam die Dateien dynamisch nach. Mann könnte noch nachsehen, was in der "pdfsam-2.2.4.jar" in META-INF/MANIFEST.MF drinsteht. Aber probier mal aus, ob's besser wird, wenn du stattdessen aufrufst (falls eine andere Fehlermeldung auftaucht als zuvor, bitte posten)
java -Dde.intarsys.nativec.api.INativeInterface=de.intarsys.nativec.jna.JnaNativeInterface -jar "./pdfsam-2.2.4.jar" Nein. Der Inhalt ist:
/provider
MANIFEST.MF
PROJECTS.MF
Ah, "provider". Das ist dann schon etwas älter 😉. Evtl. geht das mit deiner Java-Runtime nicht mehr. Da würde dann der Link mit den aktuellen Versionen ins Spiel kommen, aber versuch doch erst mal den Aufruf von oben.
|
TausB
(Themenstarter)
Anmeldungsdatum: 26. November 2009
Beiträge: 1562
Wohnort: Terra incognita
|
eheck schrieb: Ja, der Inhalt ist:
| java -jar "./pdfsam-2.2.4.jar"
|
Dann lädt pdfsam die Dateien dynamisch nach. Mann könnte noch nachsehen, was in der "pdfsam-2.2.4.jar" in META-INF/MANIFEST.MF drinsteht.
Inhalt:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.)
Built-By: torakiki
Main-Class: org.pdfsam.guiclient.GuiClient
Class-Path: lib/log4j-1.2.15.jar lib/dom4j-1.6.1.jar lib/jaxen-1.1.3.j
ar lib/emp4j-1.0.2.jar lib/iText-2.1.7.jar lib/pdfsam-jcmdline-1.0.6.
jar lib/looks-2.3.1.jar lib/pdfsam-console-2.4.3e.jar lib/bcmail-jdk1
4-144.jar lib/bcprov-jdk14-144.jar lib/pdfsam-langpack.jar lib/common
s-lang-2.5.jar lib/jai_imageio.jar lib/jai_codec.jar lib/jai_core.jar
Aber probier mal aus, ob's besser wird, wenn du stattdessen aufrufst (falls eine andere Fehlermeldung auftaucht als zuvor, bitte posten)
Nein, keine Veränderung der Fehlermeldung. Nur zur Sicherheit: Das Programm funktioniert - bis auf die Anzeige der Miniaturansicht - fehlerfrei. Im Verzeichnis /bin ist noch ein Skript run.sh:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 | #!/bin/sh
### ====================================================================== ###
## ##
## pdfsam Bootstrap Script ##
## ##
### ====================================================================== ###
warn() {
echo "${PROGNAME}: $*"
}
die() {
warn $*
exit 1
}
DIRNAME="`dirname $0`"
DIRNAME="${DIRNAME%bin}"
DIRNAME="${DIRNAME%/}"
# I'm already in the pdfsam dir
if [ "x$DIRNAME" = "x" ]; then
PDFSAMJAR="pdfsam-2.2.4.jar"
else
if [ "x$DIRNAME" = "x." ]; then
PDFSAMJAR="../pdfsam-2.2.4.jar"
else
PDFSAMJAR="$DIRNAME/pdfsam-2.2.4.jar"
fi
fi
# Setup the classpath
if [ ! -f "$PDFSAMJAR" ]; then
die "Missing required file: $PDFSAMJAR"
fi
PDFSAM_CLASSPATH="$PDFSAMJAR"
# Setup the JVM
if [ "x$JAVA" = "x" ]; then
if [ "x$JAVA_HOME" != "x" ]; then
JAVA="$JAVA_HOME/bin/java"
else
JAVA="java"
fi
fi
# Setup pdfsam memory properties
JAVA_OPTS="-Xmx256m"
# Display our environment
echo "========================================================================="
echo ""
echo " pdfsam"
echo ""
echo " JAVA: $JAVA"
echo ""
echo " JAVA_OPTS: $JAVA_OPTS"
echo ""
echo " CLASSPATH: $PDFSAM_CLASSPATH"
echo ""
echo "========================================================================="
echo ""
# Execute the JVM in the foreground
"$JAVA" $JAVA_OPTS \
-classpath "$PDFSAM_CLASSPATH" \
org.pdfsam.guiclient.GuiClient "$@"
|
Aber auch hier das gleiche Ergebnis; gleiches Fehlerbild.
Evtl. geht das mit deiner Java-Runtime nicht mehr. Da würde dann der Link mit den aktuellen Versionen ins Spiel kommen, aber versuch doch erst mal den Aufruf von oben.
Meine genutzte Version ist:
java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
TausB PS: Die Version 2.2.2 hatte das gleiche Fehlerbild.
|
eheck
Anmeldungsdatum: 7. Juli 2009
Beiträge: 7
|
Dann fällt mir nur noch das Austauschen mit den aktuellen Versionen ein. Lade dir von https://sourceforge.net/projects/jpodrenderer/files/dependencies/5.6/ das isFreetype herunter und ersetze die jar-Dateien in "ext" mit den Versionen, die dort in "distribution/lib" sind. (Habe mir jetzt doch mal das ganze Paket heruntergeladen und ausprobiert: habe das gleiche Problem mit den alten Dateien, mit den neuen aber nicht mehr). Hoffe, das verursacht nicht woanders andere Konflikte. Was da jetzt exakt das Problem ist, weiß ich aktuell nicht. Weil die Version, die der pdfsam-Autor hier ausliefert, aber so alt ist, würde ich ungern noch Zeit damit verbringen, nach dem genauen Fehler zu suchen.
|
eheck
Anmeldungsdatum: 7. Juli 2009
Beiträge: 7
|
Ha! Ich glaub, ich weiß es. Die alte Version sucht nur nach "libfreetype.so". Das gibt's aber in den neueren Ubuntu-Versionen nicht mehr. Heißt jetzt "libfreetype.so.6". ("libfreetype.so" ohne Nummer gibt's nur noch im "libfreetype6-dev"-Package, AFAIR) Das hab ich letztes Jahr repariert, aber die Version von 2010, die du hast, kann das nicht. Was also vermutlich auch helfen würde, wäre ein symbolic Link namens "libfreetype.so" in einem passenden Verzeichnis, der auf die "libfreetype.so.6" verweist. Das probiere ich jetzt aber nicht mehr aus 😉
|
TausB
(Themenstarter)
Anmeldungsdatum: 26. November 2009
Beiträge: 1562
Wohnort: Terra incognita
|
eheck schrieb: Ha! Ich glaub, ich weiß es. Die alte Version sucht nur nach "libfreetype.so".
Genau so ist es! Habe Deine Lösung gleich mal im Wiki verewigt. Danke für Dein Engagement! TausB
|
Paulchen232
Anmeldungsdatum: 10. August 2019
Beiträge: Zähle...
|
Ubuntu 18.04 Hallo Zusammen, ich habe das selbe Problem und will noch PDFsam Version 2.2.2 benutzen. Mit der libfreetype.so verstehe ich bei mir nicht so ganz. Diese Datei ist die gleiche wie libfreetype.so.6 und ist in /usr/lib/x86_64-linux-gnu. Vielleicht könnt ihr mir ja weiter helfen. Paulchen232
|