Existe alguma chance de começar a pdftk
trabalhar no Ubuntu 18.04? Eu preciso disso para criar arquivos PDF com uma marca d'água no shell.
Ou alguém conhece uma alternativa funcional pdftk
para gerar um PDF com uma marca d'água no shell?
Eu já verifiquei / experimente todos eles:
sudo apt list pdf*
Listing... Done
pdf-presenter-console/bionic 4.1-2 amd64
pdf-redact-tools/bionic,bionic 0.1.2-1 all
pdf.js-common/bionic,bionic 1.5.188+dfsg-1 all
pdf2djvu/bionic 0.9.8-0ubuntu1 amd64
pdf2svg/bionic 0.2.3-1 amd64
pdfcrack/bionic 0.16-1 amd64
pdfcube/bionic 0.0.5-2build6 amd64
pdfcube-dbg/bionic 0.0.5-2build6 amd64
pdfgrep/bionic 2.0.1-1 amd64
pdfminer-data/bionic,bionic 20140328+dfsg-1 all
pdfmod/bionic,bionic 0.9.1-8 all
pdfmod-dbg/bionic,bionic 0.9.1-8 all
pdfposter/bionic,bionic 0.6.0-2 all
pdfresurrect/bionic 0.14-1 amd64
pdfsam/bionic,bionic 3.3.5-1 all
pdfsandwich/bionic 0.1.6-1 amd64
pdfshuffler/bionic,bionic 0.6.0-8 all
pdftoipe/bionic 1:7.2.7-1build1 amd64
Mas não encontrou uma ferramenta de trabalho.
software-installation
pdf
18.04
pdftk
WiKrIe
fonte
fonte
Respostas:
O pacote pdftk no Ubuntu (e seu pacote Debian upstream ) foi descartado devido à sua dependência do tempo de execução GCJ, agora obsoleto. Encontrei um fork que depende do OpenJDK ou similar.
Instale a partir de uma versão futura do Ubuntu (recomendado)
Começando com Cosmic (Ubuntu 18.10), o Ubuntu é fornecido
pdftk-java
com o mesmo código fonte abaixo como substituto. Tentar instalarpdftk
instalará este pacote. Os usuários de versões anteriores podem fazer o download manualmente do repositório de pacotes e instalá-lo com seu gerenciador de pacotes favorito.Instalar a partir do PPA(desatualizado)Criei um pacote Deb (apenas para Bionic) com dependências adequadas:O pacote contém um script de wrapper inserido
/usr/bin
, para que você possa invocá-lo normalmente:Instalar da fonte
Instale as ferramentas de construção e dependências:
Obviamente, você pode usar um JDK suportado diferente daquele fornecido por
default-jdk-headless
.Faça o download do garfo pdftk de Marc Vinyal :
Coloque links simbólicos para as bibliotecas necessárias na
lib
pasta:Crie o pacote JAR:
Execute o pacote JAR:
(Opcional) Para executar o pacote JAR, por exemplo, quando você o distribui para outros sistemas, você precisa de pelo menos um JRE (sem cabeça) como o
default-jre-headless
pacote, bem como as bibliotecas Javalibcommons-lang3-java
elibbcprov-java
:Novamente, você pode usar um JRE diferente de
default-jre-headless
. Esse garfo pdftk também suporta compilações 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) via
update-binfmts(8)
. A maioria dos JREs enviados nos pacotes Deb, incluindo aqueles nos repositórios de pacotes da Canonical, cuidam disso durante a instalação, embora pareça estar com erros em alguns pacotes do OpenJDK.PS: Tentei isso com o OpenJDK 9 sem cabeça no Ubuntu Trusty, mas vejo poucas razões pelas quais ele não deve funcionar com o OpenJDK 10 sem cabeça no Bionic.
Dependendo das aplicações
Um comentarista levantou a questão válida de saber se os aplicativos dependentes da Cadeia PDF são afetados por esta alteração:
fonte
pdftk-java
garfo de Marc Vinyal . Esse será (muito provavelmente) o substituto oficial para opdftk
Debian ( veja ) e no Ubuntu (com um pacote disponível para 18.10). Portanto, essa parece ser a melhor resposta , pois é "prova do futuro": a partir de 18.10, você receberá o mesmo software nos repositórios oficiais.ant
com bibliotecas instaladas via apt sobre o uso do Gradle na compilação?pdftk-java
são bem escolhidas. Você pode verificar isso.pdftk-java
.Para o Ubuntu 18.04, basta instalar o pacote snap do pdftk:
fonte
snap
parece precisar do nome do script. Mas um script de wrapper mínimo/snap/bin/pdftk-smoser.pdftk "$@"
funciona igualmente bem.Instalando o pdftk no Ubuntu 18.04 amd64
Eu escrevi um pequeno script bash que automatiza a instalação no Ubuntu 18.04. Observe que eu baixei apenas pacotes amd64 !
Este script fará o download dos pacotes
/tmp
e a partir daí, usando umapt install
comando! Posteriormente, os pacotes no/tmp
diretório serão removidos.Para executar este script, copie-o em um editor e salve-o, por exemplo, pdftk_installer . Em seguida, execute-o em um terminal com
fonte
pdftk-dbg_2.02-4build1_amd64.deb
opcionalVocê pode tentar usar uma imagem do docker do Ubuntu 16.04 com o pdftk instalado para executar o pdftk:
Instale a janela de encaixe:
Puxe o Ubuntu 16.04 e execute um shell bash:
Atualize e instale o pdftk a partir do prompt do contêiner:
Em uma nova execução do terminal:
Confirme a imagem usando o CONTAINER ID do ubuntu: 16.04 para uma nova imagem com o pdftk instalado:
(Substitua
CONTAINER_ID
pelo seu ID do contêiner.)Crie um arquivo nomeado e,
pdftk
em/usr/bin
seguida, torne-o executável usandochmod +x /usr/bin/pdftk
:fonte
-v "$PWD:/workdir$PWD" -w "/workdir$PWD"
?Eu era capaz de instalar o pdftk a partir de pacotes deb do artful (17.10). Baixe e instale, nessa ordem:
É melhor instalar
gcc-6-base
primeiro para evitar erros de dependências, se você fizer isso a partir do cli.Isso deve funcionar ... por enquanto.
fonte
Fiz uma solução rápida e suja para obter o PDFTK em execução no Bionic.
Eu atualizo meu
sources.list
e incluo as seguintes linhas:Depois disso, eu corro um simples
para fazer as alterações entrarem em vigor.
Em seguida, instale o pdftk via
Em seguida, remova as fontes Artful do source.list novamente e é assim que obtenho o PDFTK em execução no Bionic.
Fonte: https://christiandietze.de/pdftk-with-ubuntu-bionic-18-04/
fonte
Isso funciona para o ubuntu 18.04:
fonte
Você pode executar o pdftk no Ubuntu 18.04 com o docker. Essa é uma variante aprimorada da resposta de Ademir.
Supondo que precisamos apenas de um componente cli do pdftk e que haja docker instalado na máquina. Basta colocar o seguinte script em algum lugar no $ PATH com o nome
pdftk
e o conjunto de bits executáveis:A primeira execução levará cerca de 2 minutos para criar a imagem, se a imagem criada permanecer na máquina, as próximas execuções serão mais rápidas. Você pode limpar livremente a imagem, que será criada quando precisar da próxima vez.
fonte
Os links de download no script postado por @abu_bua parecem não estar mais funcionando (provavelmente por causa do fim do suporte para 17.10?), Então aqui está uma versão modificada do mesmo script que usa os pacotes correspondentes da compilação 16.04. Tentou e testou em uma máquina executando 18.04.
fonte
Gosto da resposta do docker do Ademir , mas ele tem os problemas típicos de segurança e permissões, porque o docker precisa ser executado como root. Se isso lhe incomoda, tente usar a Singularidade . Você precisa criar a imagem como raiz, mas qualquer usuário pode executá-la.
Aqui está o
Singularity
arquivo que eu usei:Então eu construí a imagem.
Depois que funcionou, instalei-o em uma pasta no caminho, junto com um script de wrapper que define a pasta inicial como o diretório atual.
E agora eu posso correr
pdftk
.A única desvantagem é que é um executável bastante grande, porque contém uma distribuição completa do Ubuntu 16.04. Você também pode ter problemas se estiver tentando manipular arquivos PDF que não estão no diretório atual.
fonte
Que grande oportunidade de usar alguma mágica do docker!
O que fiz foi usar um contêiner do docker executando o ubuntu 16.04, instalar o pdftk dentro dele e executá-lo lá.
Aqui estão as etapas exatas se você deseja fazer a mesma coisa:
pdftk
docker
dentro dopdftk
diretóriopdftk/docker
diretório: https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfilepdftk/docker
diretório: https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershelldockershell
script é executávelpdftk
diretório, copie todos os arquivos pdf com os quais deseja trabalharcd /path/to/pdftk
docker/dockershell docker/Dockerfile
(isso levará algum tempo na primeira vez em que você o executar)Agora você deve ter um prompt dentro do contêiner do docker, de onde você pode executar o pdftk. Quando terminar, digite
exit
para sair do contêiner e retornar à máquina host. Todos os arquivos recém-gerados estarão presentes nopdftk
diretório (mas serão de propriedade do root, portanto, pode ser necessário alterar a propriedade conforme necessário).fonte
No meu 18.04 rodando na WSL, fiz o seguinte
Obtenha as dependências dos (arquivos .deb):
wget http://hr.archive.ubuntu.com/ubuntu/pool/main/g/gcc-6/libgcj17_6.4.0-8ubuntu1_amd64.deb
wget http://mirrors.edge.kernel.org/ubuntu/pool/main/g/gcc-defaults/libgcj-common_6.4-3ubuntu1_all.deb
instale as dependências acima
em seguida, tomei a
.deb
partir https://packages.debian.org/search?keywords=pdftkfonte