web-dev-qa-db-fra.com

Comment faire fonctionner pdfsam dans (L) Ubuntu 18.04?

J'ai les versions suivantes d'OpenJDK installées:

Java-1.11.0-openjdk-AMD64      1101       /usr/lib/jvm/Java-1.11.0-openjdk-AMD64
Java-1.8.0-openjdk-AMD64       1081       /usr/lib/jvm/Java-1.8.0-openjdk-AMD64

J'ai l'erreur suivante lors de l'utilisation de PDFsam dans Lubuntu 18.04:

INFO   [12:15:47]: Starting PDFsam
INFO   [12:15:48]: Transparent windows not supported by the platform
INFO   [12:15:48]: Configuring Sejda 3.2.38
INFO   [12:15:48]: Gestarted in 1 second
INFO   [12:15:57]: 3.pdf loaded
INFO   [12:15:57]: 4.pdf loaded
INFO   [12:15:57]: 5.pdf loaded
INFO   [12:15:58]: Starting task (org.sejda.impl.sambox.MergeTask@81b1817) execution.
WARN   [12:15:59]: New fonts found, font cache will be re-built
WARN   [12:15:59]: Building on-disk font cache, this may take a while
ERROR  [12:15:59]: Unexpected error
Java.lang.NoClassDefFoundError: Could not initialize class org.sejda.sambox.pdmodel.font.PDType1Font
at org.sejda.impl.sambox.util.FontUtils.<clinit>(FontUtils.Java:74)
at org.sejda.impl.sambox.component.PDDocumentHandler.close(PDDocumentHandler.Java:231)
at org.sejda.common.ComponentsUtility.nullSafeClose(ComponentsUtility.Java:63)
at org.sejda.common.ComponentsUtility.nullSafeCloseQuietly(ComponentsUtility.Java:49)
at org.sejda.impl.sambox.MergeTask.closeResources(MergeTask.Java:232)
at org.sejda.impl.sambox.MergeTask.after(MergeTask.Java:237)
at org.sejda.core.service.DefaultTaskExecutionService.actualExecution(DefaultTaskExecutionService.Java:151)
at org.sejda.core.service.DefaultTaskExecutionService.execute(DefaultTaskExecutionService.Java:71)
at org.sejda.core.service.DefaultTaskExecutionService.execute(DefaultTaskExecutionService.Java:58)
at org.pdfsam.task.TaskExecutionController.lambda$request$0(TaskExecutionController.Java:87)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1149)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:624)
at Java.lang.Thread.run(Thread.Java:748)
3
Ben

Il s'agit d'un bogue bogue 1768565 sur le LaunchPad relatif à une compatibilité défectueuse entre OpenJDK 11 et le package PDFSaM Ubuntu.

J'ai trouvé une solution de travail. Nous devrions supprimer pdfsam Ubuntu-package et télécharger pdfsam-basic du site officiel :

Sudo apt-get purge pdfsam
Sudo apt-get autoremove
cd ~/Downloads
wget https://github.com/torakiki/pdfsam/releases/download/v4.0.1/pdfsam_4.0.1-1_all.deb
Sudo apt-get install ./pdfsam_4.0.1-1_all.deb

Ce n'est pas la première fois, Scilab a été cassé par Java aussi (voir this Q & A ).
Ubuntu 18.04 LTS n’est donc pas encore prêt pour le déploiement en entreprise et en éducation.

6
N0rbert

La solution est là:

https://bugs.launchpad.net/ubuntu/+source/pdfsam/+bug/1768565

Le bogue est corrigé dans Ubuntu 18.04 (Bionic Beaver 64 bits) une fois que la version par défaut de Java est définie sur Java-8. Pas besoin de déclasser ou de désinstaller Java-10 ou Java-11. Java par défaut est Java-11 pour Ubuntu 18.04. PDFSAM basic 3.35 ou 3.37 est écrit en Java-8 et ne fonctionne qu'avec Java-8.

Testé sur PDFSAM Split and Merge Basic Edition 3.3.5 Environnement d'exécution OpenJDK 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13

Exécuter dans le terminal Sudo update-alternatives --config Java

Sélectionnez/tapez 2 (ou le numéro de série indiqué par rapport à Java-8). Appuyez sur Entrée pour définir la version par défaut de Java sur Java-8.

1
user890695