O pacote pdftk no Ubuntu (e seu upstream Pacote Debian ) foi descartado devido à sua dependência do tempo de execução GCJ que agora está obsoleto. Eu encontrei um fork que depende do OpenJDK ou similar.
Instalar do PPA
Eu construí um pacote Deb (somente para o Bionic) com dependências adequadas:
sudo add-apt-repository ppa:malteworld/ppa
sudo apt update
sudo apt install pdftk
O pacote contém um script de wrapper colocado em /usr/bin
, para que você possa invocá-lo normalmente:
pdftk <arguments> ...
Instalar da origem
-
Instale as ferramentas e dependências de construção:
sudo apt install git default-jdk-headless ant \ libcommons-lang3-java libbcprov-java
É claro que você pode usar um JDK suportado diferente daquele fornecido por
default-jdk-headless
. -
Faça o download do pdftk fork de Marc Vinyal :
git clone https://gitlab.com/pdftk-java/pdftk.git cd pdftk
-
Coloque os links simbólicos nas bibliotecas necessárias no diretório
libs
:mkdir libs ln -st libs /usr/share/java/{commons-lang3,bcprov}.jar
-
Compile o pacote JAR:
ant jar
-
Execute o pacote JAR:
java -jar build/jar/pdftk.jar --help
-
(Opcional) Para executar o pacote JAR, e. g. ao distribuí-lo para outros sistemas, você precisa de pelo menos um JRE (sem cabeçalho) funcionando como o pacote
default-jre-headless
, bem como as bibliotecas Javalibcommons-lang3-java
elibbcprov-java
:sudo apt install default-jre-headless libcommons-lang3-java libbcprov-java
Novamente, você pode usar um JRE diferente de
default-jre-headless
. Este fork do pdftk também suporta builds para versões mais antigas do JRE (≥ 7 de acordo com a documentação). -
(Opcional) Você pode ensinar o Linux a executar arquivos JAR (Java Archive) através de
update-binfmts(8)
. A maioria dos JREs enviados em pacotes Deb, incluindo aqueles nos repositórios de pacotes da Canonical, cuidam disso durante a instalação, embora pareça estar com problemas em alguns pacotes do OpenJDK.
P.S .: Eu tentei isso com o OpenJDK 9 não-sem-cabeça no Ubuntu Trusty, mas vejo poucas razões pelas quais ele não deveria funcionar com o OpenJDK 10 sem cabeça em Bionic.