Gibt es eine Chance, pdftk
in Ubuntu 18.04 zu arbeiten? Ich brauche dies, um PDF-Dateien mit einem Wasserzeichen in der Shell zu erstellen.
Oder kennt jemand eine funktionierende Alternative zum pdftk
Generieren einer PDF-Datei mit einem Wasserzeichen in der Shell?
Ich überprüfe / probiere bereits alle aus:
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
Hab aber kein funktionierendes Werkzeug gefunden.
software-installation
pdf
18.04
pdftk
WiKrIe
quelle
quelle
Antworten:
Das pdftk-Paket in Ubuntu (und sein Upstream- Debian-Paket ) wurde aufgrund seiner Abhängigkeit von der jetzt veralteten GCJ-Laufzeit gelöscht. Ich habe stattdessen eine Gabel gefunden, die von OpenJDK oder ähnlichem abhängt.
Installation von einem zukünftigen Ubuntu-Release (empfohlen)
Ab Cosmic (Ubuntu 18.10) wird Ubuntu
pdftk-java
als Ersatz aus demselben Quellcode wie unten geliefert. Beim Versuch der Installationpdftk
wird stattdessen dieses Paket installiert. Benutzer früherer Versionen können es manuell aus dem Paket-Repository herunterladen und mit ihrem bevorzugten Paket-Manager installieren.Installation von PPA(veraltet)Ich habe ein Deb-Paket (nur für Bionic) mit geeigneten Abhängigkeiten erstellt:Das Paket enthält ein Wrapper-Skript, in
/usr/bin
das Sie es wie gewohnt aufrufen können:Von der Quelle installieren
Installieren Sie die Build-Tools und Abhängigkeiten:
Natürlich können Sie ein anderes unterstütztes JDK als das von verwenden
default-jdk-headless
.Download Marc Vinyals PDFTK-Gabel :
Fügen Sie symbolische Links zu den gewünschten Bibliotheken in den
lib
Ordner ein:Erstellen Sie das JAR-Paket:
Führen Sie das JAR-Paket aus:
(Optional) Um das JAR-Paket auszuführen, z. B. wenn Sie es an andere Systeme verteilen, benötigen Sie mindestens eine funktionierende (kopflose) JRE aus dem
default-jre-headless
Paket sowie die Java-Bibliothekenlibcommons-lang3-java
undlibbcprov-java
:Auch hier können Sie eine andere JRE als verwenden
default-jre-headless
. Diese pdftk-Verzweigung unterstützt auch Builds für ältere JRE-Versionen (≥ 7 gemäß Dokumentation).(Optional) Sie können Linux beibringen, JAR-Dateien (Java Archive) über auszuführen
update-binfmts(8)
. Die meisten JREs, die in Deb-Paketen ausgeliefert werden, einschließlich derjenigen in Canonicals Paket-Repositorys, kümmern sich während der Installation darum, obwohl es in einigen OpenJDK-Paketen fehlerhaft zu sein scheint.PS: Ich habe dies mit dem nicht kopflosen OpenJDK 9 in Ubuntu Trusty versucht, sehe aber wenig Gründe, warum es mit dem kopflosen OpenJDK 10 in Bionic nicht funktionieren sollte.
Abhängige Anwendungen
Ein Kommentator hat die gültige Frage aufgeworfen, ob die abhängigen PDF Chain- Anwendungen von dieser Änderung betroffen sind:
quelle
pdftk-java
Gabel. Das wird (sehr wahrscheinlich) der offizielle Ersatz fürpdftk
in Debian ( siehe ) und in Ubuntu (mit einem für 18.10 verfügbaren Paket ) sein. Dies scheint die beste Antwort zu sein , da es "zukunftssicher" ist: Ab 18.10 erhalten Sie die gleiche Software, die in den offiziellen Repos bereitgestellt wird.ant
Bibliotheken zu empfehlen, die über apt over mit Gradle für den Build installiert wurden?pdftk-java
gut gewählt sind. Vielleicht möchten Sie das überprüfen.pdftk-java
.Für Ubuntu 18.04 installieren Sie einfach das Paket pdftk snap:
quelle
snap
anscheinend der Skriptname benötigt wird. Ein minimales Wrapper-Skript/snap/bin/pdftk-smoser.pdftk "$@"
funktioniert jedoch genauso gut.Installation von pdftk unter Ubuntu 18.04 amd64
Ich habe ein kleines Bash-Skript geschrieben, das die Installation unter Ubuntu 18.04 automatisiert. Beachten Sie, dass ich nur amd64- Pakete heruntergeladen habe !
Dieses Skript lädt die Pakete herunter
/tmp
und installiert sie von dort mit einemapt install
Befehl! Danach werden die Pakete im/tmp
Verzeichnis entfernt.Um dieses Skript auszuführen, kopieren Sie es in einen Editor und speichern Sie es, z . B. pdftk_installer . Dann starte es in einem Terminal mit
quelle
pdftk-dbg_2.02-4build1_amd64.deb
ist optionalSie können versuchen, ein Docker-Image von Ubuntu 16.04 mit installiertem pdftk zu verwenden, um pdftk auszuführen:
Docker installieren:
Ziehe Ubuntu 16.04 und führe eine Bash-Shell aus:
Aktualisieren und installieren Sie pdftk von der Container-Eingabeaufforderung aus:
Auf einem neuen Terminal laufen:
Übertragen Sie das Image mit der CONTAINER-ID von ubuntu: 16.04 auf ein neues Image mit installiertem pdftk:
(Ersetzen Sie
CONTAINER_ID
durch Ihre Container-ID.)Erstellen Sie eine Datei mit dem Namen
pdftk
in/usr/bin
und machen Sie sie dann ausführbar mitchmod +x /usr/bin/pdftk
:quelle
-v "$PWD:/workdir$PWD" -w "/workdir$PWD"
?Ich konnte pdftk aus kunstvollen (17.10) Deb-Paketen installieren. Laden Sie Folgendes herunter und installieren Sie es in dieser Reihenfolge:
Es ist am besten,
gcc-6-base
zuerst zu installieren , um Abhängigkeitsfehler zu vermeiden, wenn Sie dies von cli aus tun.Das sollte den Trick machen ... fürs Erste.
quelle
Ich habe eine schnelle und schmutzige Lösung gefunden, um PDFTK unter Bionic zum Laufen zu bringen.
Ich aktualisiere meine
sources.list
und füge folgende Zeilen hinzu:Danach laufe ich ein einfaches
Damit die Änderungen wirksam werden.
Dann installiere pdftk über
Dann entferne ich die Artful-Quellen wieder aus der source.list und auf diese Weise starte ich PDFTK unter Bionic.
Quelle: https://christiandietze.de/pdftk-with-ubuntu-bionic-18-04/
quelle
Dies funktioniert für Ubuntu 18.04:
quelle
Sie können pdftk unter Ubuntu 18.04 mit Docker ausführen. Das ist eine erweiterte Variante von Ademirs Antwort.
Angenommen, wir brauchen nur eine Cli-Komponente des PDFTK und es ist Docker auf dem Computer installiert. Platzieren Sie einfach das folgende Skript an einer beliebigen Stelle im $ PATH, wobei der Name
pdftk
und das ausführbare Bit gesetzt sind:Der erste Durchlauf dauert etwa 2 Minuten, um das Image zu erstellen. Wenn das erstellte Image auf dem Computer verbleibt, sind die nächsten Durchläufe schneller. Sie können das Image frei bereinigen. Es wird erstellt, wenn Sie es das nächste Mal benötigen.
quelle
Die Download-Links in dem von @abu_bua bereitgestellten Skript scheinen nicht mehr zu funktionieren (wahrscheinlich aufgrund des Endes der Unterstützung für 17.10?). Hier ist also eine modifizierte Version desselben Skripts, das die entsprechenden Pakete aus dem Build 16.04 verwendet. Bewährt auf einer laufenden Maschine 18.04.
quelle
Ich mag die Docker-Antwort von Ademir , aber es gibt die typischen Probleme mit Sicherheit und Berechtigungen, da Docker als Root ausgeführt werden muss. Wenn Sie das stört, versuchen Sie es mit Singularity . Sie müssen das Image als root erstellen, aber jeder Benutzer kann es dann ausführen.
Hier ist die
Singularity
Datei, die ich verwendet habe:Dann habe ich das Bild gebaut.
Nachdem dies funktioniert hatte, installierte ich es zusammen mit einem Wrapper-Skript, das den Basisordner auf das aktuelle Verzeichnis festlegt, in einem Ordner im Pfad.
Und jetzt kann ich rennen
pdftk
.Der einzige Nachteil ist, dass es sich um eine ziemlich große ausführbare Datei handelt, da sie eine vollständige Ubuntu 16.04-Distribution enthält. Möglicherweise treten auch Probleme auf, wenn Sie versuchen, PDF-Dateien zu bearbeiten, die sich nicht im aktuellen Verzeichnis befinden.
quelle
Was für eine großartige Gelegenheit, Docker-Magie einzusetzen!
Was ich getan habe, war, einen Docker-Container mit Ubuntu 16.04 zu verwenden, pdftk darin zu installieren und dort auszuführen.
Hier sind die genauen Schritte, wenn Sie dasselbe tun möchten:
pdftk
docker
innerhalb despdftk
Verzeichnissespdftk/docker
Verzeichnis: https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfilepdftk/docker
Verzeichnis: https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershelldockershell
Skript ausführbar istpdftk
Kopieren Sie in das Verzeichnis alle PDF-Dateien, mit denen Sie arbeiten möchtencd /path/to/pdftk
docker/dockershell docker/Dockerfile
(Dies wird einige Zeit in Anspruch nehmen, wenn Sie es zum ersten Mal ausführen.)Jetzt sollten Sie eine Eingabeaufforderung im Docker-Container haben, von der aus Sie pdftk ausführen können. Wenn Sie fertig sind, geben Sie ein,
exit
um den Container zu verlassen und zum Hostcomputer zurückzukehren. Alle neu generierten Dateien sind impdftk
Verzeichnis vorhanden (sie gehören jedoch dem Root-Benutzer, sodass Sie den Eigentümer gegebenenfalls ändern müssen).quelle
Auf meinem 18.04 Lauf in der WSL habe ich folgendes gemacht
Holen Sie sich die Abhängigkeiten aus den (.deb-Dateien):
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
Installieren Sie dann die obigen Abhängigkeiten
dann habe ich die
.deb
von https://packages.debian.org/search?keywords=pdftk genommenquelle