web-dev-qa-db-ja.com

(L)ubuntu 18.04でpdfsamを機能させる方法は?

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

Lubuntu 18.04でPDFsamを使用すると、次のエラーが表示されます。

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

既知のバグ LaunchPadのバグ1768565 OpenJDK 11とPDFSaM Ubuntuパッケージ間の互換性の破損について。

実用的なソリューションを見つけました。 pdfsam Ubuntu-packageを削除し、 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でも壊れていたため、これは初めてではありません( this Q&A を参照)。
そのため、Ubuntu 18.04 LTSはまだエンタープライズおよび教育機関向けの展開に対応していません。

6
N0rbert

解決策はこちら:

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

このバグは、デフォルトのJavaバージョンがJava-8に設定されると、Ubuntu 18.04(Bionic Beaver 64ビット)で修正されます。 Java-10またはJava-11をダウングレードまたはアンインストールする必要はありません。デフォルトのJavaはUbuntu 18.04のJava-11です。 PDFSAM basic 3.35または3.37はJava-8で記述されており、Java-8でのみ動作します。

PDFSAM Split and Merge Basic Edition 3.3.5 OpenJDK Runtime Environment 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13でテスト済み

端末のSudo update-alternatives --config Javaで実行します

選択/タイプ2(またはJava-8に対して表示されるシリアル番号)。 Enterキーを押して、デフォルトのJavaバージョンをJava-8に設定します。

1
user890695