¿Hay alguna posibilidad de pdftk
trabajar en Ubuntu 18.04? Necesito esto para crear archivos PDF con una marca de agua en shell.
O, ¿alguien sabe una alternativa de trabajo pdftk
para generar un PDF con una marca de agua en shell?
Ya los verifico / pruebo todos:
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
Pero no encontré una herramienta de trabajo.
software-installation
pdf
18.04
pdftk
WiKrIe
fuente
fuente
Respuestas:
El paquete pdftk en Ubuntu (y su paquete Debian ) se descartó debido a su dependencia del tiempo de ejecución de GCJ ahora en desuso. Encontré una bifurcación que depende de OpenJDK o similar en su lugar.
Instalar desde una futura versión de Ubuntu (recomendado)
Comenzando con Cosmic (Ubuntu 18.10), Ubuntu se envía
pdftk-java
desde el mismo código fuente que se muestra a continuación como reemplazo. Intentar instalarpdftk
instalará este paquete en su lugar. Los usuarios de versiones anteriores pueden descargarlo manualmente desde el repositorio de paquetes e instalarlo con su administrador de paquetes favorito.Instalar desde PPA(obsoleto)Construí un paquete Deb (solo para Bionic) con dependencias adecuadas:El paquete contiene un script de contenedor colocado
/usr/bin
, por lo que puede invocarlo normalmente:Instalar desde la fuente
Instale las herramientas de compilación y las dependencias:
Por supuesto, puede usar un JDK compatible diferente al proporcionado por
default-jdk-headless
.Descargue la horquilla pdftk de Marc Vinyal :
Coloque enlaces simbólicos a las bibliotecas requeridas en la
lib
carpeta:Construya el paquete JAR:
Ejecute el paquete JAR:
(Opcional) Para ejecutar el paquete JAR, por ejemplo, cuando lo distribuye a otros sistemas, necesita al menos un JRE funcional (sin cabeza) como el del
default-jre-headless
paquete, así como las bibliotecas Javalibcommons-lang3-java
ylibbcprov-java
:De nuevo, puede usar un JRE diferente que
default-jre-headless
. Esta bifurcación pdftk también admite compilaciones para versiones anteriores de JRE (≥ 7 según la documentación).(Opcional) Puede enseñar a Linux a ejecutar archivos JAR (Java Archive) a través de
update-binfmts(8)
. La mayoría de los JRE enviados en paquetes Deb, incluidos los de los repositorios de paquetes de Canonical, se encargan de eso durante la instalación, aunque parece tener errores en algunos paquetes OpenJDK.PD: Probé esto con OpenJDK 9 sin cabeza en Ubuntu Trusty, pero veo pocas razones por las que no debería funcionar con OpenJDK 10 sin cabeza en Bionic.
Dependiendo de las aplicaciones
Un comentarista planteó la pregunta válida de si las aplicaciones dependientes de la cadena PDF se ven afectadas por este cambio:
fuente
pdftk-java
tenedor de Marc Vinyal . Ese será (muy probablemente) el reemplazo oficial depdftk
Debian ( ver ) y Ubuntu (con un paquete disponible para 18.10). Entonces, esta parece ser la mejor respuesta , ya que es una "prueba futura": a partir de la 18.10 en adelante, recibirá el mismo software en los repositorios oficiales.ant
con bibliotecas instaladas a través de apt sobre el uso de Gradle para la compilación?pdftk-java
están bien elegidas. Es posible que desee comprobar eso.pdftk-java
.Para Ubuntu 18.04, simplemente instale el paquete pdftk snap:
fuente
snap
parece necesitar el nombre del script. Pero un script de envoltura mínima/snap/bin/pdftk-smoser.pdftk "$@"
funciona igual de bien.Instalación de pdftk en Ubuntu 18.04 amd64
He escrito un pequeño script bash que automatiza la instalación en Ubuntu 18.04. ¡Tenga en cuenta que he descargado solo paquetes amd64 !
¡Este script descargará los paquetes
/tmp
e instalará desde allí usando unapt install
comando! Luego/tmp
se eliminarán los paquetes en el directorio.Para ejecutar este script, cópielo en un editor y guárdelo, por ejemplo, pdftk_installer . Luego ejecútelo en una terminal con
fuente
pdftk-dbg_2.02-4build1_amd64.deb
es opcionalPuede intentar usar una imagen acoplable de Ubuntu 16.04 con pdftk instalado para ejecutar pdftk:
Instalar docker:
Tire Ubuntu 16.04 y ejecute un shell bash:
Actualice e instale pdftk desde el indicador de contenedor:
En una nueva terminal ejecute:
Confirma la imagen usando el ID DE CONTENEDOR de ubuntu: 16.04 en una nueva imagen con pdftk instalado:
(Reemplace
CONTAINER_ID
con su ID de contenedor).Crear un archivo nombrado
pdftk
en/usr/bin
y luego hacerlo ejecutable usandochmod +x /usr/bin/pdftk
:fuente
-v "$PWD:/workdir$PWD" -w "/workdir$PWD"
?Pude instalar pdftk desde los paquetes artful (17.10) deb. Descargue e instale, en ese orden:
Es mejor instalar
gcc-6-base
primero para evitar el error de dependencias si lo hace desde cli.Eso debería hacer el truco ... por ahora.
fuente
Hice una solución rápida y sucia para ejecutar PDFTK con Bionic.
Actualizo mi
sources.list
e incluyo las siguientes líneas:Después de eso corro un simple
para que los cambios surtan efecto.
Luego instale pdftk vía
Luego, elimine las fuentes Artful de source.list nuevamente y así es como hago que PDFTK se ejecute en Bionic.
Fuente: https://christiandietze.de/pdftk-with-ubuntu-bionic-18-04/
fuente
Esto funciona para ubuntu 18.04:
fuente
Puede ejecutar pdftk en Ubuntu 18.04 con docker. Esa es una variante mejorada de la respuesta de Ademir.
Asumiendo que solo necesitamos un componente cli del pdftk y que hay docker instalado en la máquina. Simplemente coloque el siguiente script en algún lugar de $ PATH con el nombre
pdftk
y el conjunto de bits ejecutable:La primera ejecución tardará unos 2 minutos en generar la imagen, si la imagen construida permanecerá en la máquina, las próximas ejecuciones serán más rápidas. Puede limpiar libremente la imagen, se construirá cuando la necesite la próxima vez.
fuente
Parece que los enlaces de descarga en el script publicado por @abu_bua ya no funcionan (probablemente debido al fin del soporte para 17.10?), Así que aquí hay una versión modificada del mismo script que utiliza los paquetes correspondientes de la compilación 16.04. Probado y probado en una máquina con 18.04.
fuente
me gusta la respuesta de Docker de Ademir , pero tiene los problemas típicos de seguridad y permisos, porque Docker tiene que ejecutarse como root. Si eso te molesta, intenta usar Singularity . Necesita construir la imagen como root, pero cualquier usuario puede ejecutarla.
Aquí está el
Singularity
archivo que usé:Entonces construí la imagen.
Una vez que funcionó, lo instalé en una carpeta en la ruta, junto con un script de contenedor que establece la carpeta de inicio en el directorio actual.
Y ahora puedo correr
pdftk
.El único inconveniente es que es un ejecutable bastante grande, porque contiene una distribución completa de Ubuntu 16.04. También puede tener problemas si está tratando de manipular archivos PDF que no están en el directorio actual.
fuente
¡Qué gran oportunidad para usar un poco de magia docker!
Lo que hice fue usar un contenedor de Docker con ubuntu 16.04, instalar pdftk dentro y ejecutarlo allí.
Estos son los pasos exactos si desea hacer lo mismo:
pdftk
docker
dentro delpdftk
directoriopdftk/docker
directorio: https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfilepdftk/docker
directorio: https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershelldockershell
script sea ejecutablepdftk
directorio, copie todos los archivos pdf con los que desea trabajarcd /path/to/pdftk
docker/dockershell docker/Dockerfile
(esto tomará algún tiempo la primera vez que lo ejecute)Ahora debería tener un mensaje dentro del contenedor de Docker, desde donde puede ejecutar pdftk. Cuando haya terminado, escriba
exit
para salir del contenedor y volver a la máquina host. Todos los archivos recién generados estarán presentes en elpdftk
directorio (pero serán propiedad de root, por lo que es posible que deba cambiar la propiedad según sea necesario).fuente
En mi 18.04 corriendo en WSL hice lo siguiente
Obtenga las dependencias de los (archivos .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
luego instale las dependencias anteriores
entonces tomé el
.deb
de https://packages.debian.org/search?keywords=pdftkfuente