Как заставить работать pdfsam в (L) Ubuntu 18.04?

У меня установлены следующие версии OpenJDK:

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

Я получаю следующую ошибку при использовании PDFsam в 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)

2 ответа

Решение

Это известная ошибка 1768565 на LaunchPad о нарушении совместимости между OpenJDK 11 и PDFSaM Ubuntu.

Я нашел рабочее решение. Мы должны удалить pdfsam Ubuntu-пакет и загрузите pdfsam-basic с официального сайта:

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

Это не первый раз, так как Scilab тоже был взломан Java (см. Этот раздел вопросов и ответов).
Таким образом, Ubuntu 18.04 LTS еще не готова к развертыванию на предприятиях и в учебных заведениях.

Решение здесь:

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

Ошибка исправлена ​​в Ubuntu 18.04 (Bionic Beaver 64 bit), если для java-версии по умолчанию установлено значение java-8. Нет необходимости понижать версию или удалять java-10 или java-11. По умолчанию java - это java-11 для Ubuntu 18.04. PDF 3.SAM Basic 3.35 или 3.37 написан на Java-8 и будет работать только с Java-8.

Протестировано в PDFSAM Split and Merge Basic Edition 3.3.5 Среда выполнения OpenJDK 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13

Запустить в терминале sudo update-альтернативы --config java

Выберите / введите 2 (или любой другой серийный номер, указанный на java-8). Нажмите Enter, чтобы установить версию Java по умолчанию в java-8.

Другие вопросы по тегам