Czy jest jakaś szansa na pdftk
pracę w Ubuntu 18.04? Potrzebuję tego do tworzenia plików PDF ze znakiem wodnym w powłoce.
A może ktoś zna działającą alternatywę pdftk
do generowania pliku PDF ze znakiem wodnym w powłoce?
Już je sprawdziłem / wypróbowałem:
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
Ale nie znalazłem działającego narzędzia.
software-installation
pdf
18.04
pdftk
WiKrIe
źródło
źródło
Odpowiedzi:
Pakiet pdftk Ubuntu (i jego górnego pakietu Debiana ) zostało usunięte ze względu na zależność od już nieaktualnych gcj wykonywania. Zamiast tego znalazłem widelec, który zależy od OpenJDK lub podobnego.
Zainstaluj z przyszłej wersji Ubuntu (zalecane)
Począwszy od Cosmic (Ubuntu 18.10), Ubuntu jest wysyłane
pdftk-java
z tego samego kodu źródłowego jak poniżej. Próba instalacjipdftk
spowoduje zainstalowanie tego pakietu. Użytkownicy wcześniejszych wersji mogą pobrać go ręcznie z repozytorium pakietów i zainstalować przy użyciu swojego ulubionego menedżera pakietów.Zainstaluj z PPA(nieaktualne)Zbudowałem pakiet Deb (tylko dla Bionic) z odpowiednimi zależnościami:Pakiet zawiera umieszczony skrypt otoki
/usr/bin
, dzięki czemu można go wywoływać normalnie:Zainstaluj ze źródła
Zainstaluj narzędzia kompilacji i zależności:
Oczywiście możesz użyć innego obsługiwanego JDK niż ten dostarczony przez
default-jdk-headless
.Pobierz widelec pdftk Marc Vinyal :
Umieść dowiązania symboliczne do wymaganych bibliotek w
lib
folderze:Zbuduj pakiet JAR:
Uruchom pakiet JAR:
(Opcjonalnie) Aby uruchomić pakiet JAR, np. Podczas dystrybucji do innych systemów, potrzebujesz przynajmniej działającego (bezgłowego) środowiska JRE, takiego jak z
default-jre-headless
pakietu, a także bibliotek Javalibcommons-lang3-java
ilibbcprov-java
:Ponownie możesz użyć innego środowiska JRE niż
default-jre-headless
. Ten widelec pdftk obsługuje również kompilacje dla starszych wersji JRE (≥ 7 zgodnie z dokumentacją).(Opcjonalnie) Możesz nauczyć Linuksa wykonywania plików JAR (Java Archive) za pośrednictwem
update-binfmts(8)
. Większość środowisk JRE dostarczanych w pakietach Deb, w tym w repozytoriach pakietów Canonical, zajmuje się tym podczas instalacji, choć wydaje się, że w niektórych pakietach OpenJDK jest wadliwa.PS: Próbowałem tego z bezgłowym OpenJDK 9 w Ubuntu Trusty, ale widzę niewiele powodów, dla których nie powinien on działać z bezgłowym OpenJDK 10 w Bionic.
W zależności od zastosowania
Komentator podniósł prawidłowe pytanie, czy zmiana ta ma wpływ na zależne aplikacje Łańcucha PDF :
źródło
pdftk-java
widelec Marc Vinyal . Będzie to (najprawdopodobniej) oficjalny zamiennik dlapdftk
Debiana ( patrz ) i Ubuntu (z pakietem dostępnym dla 18.10). Tak więc wydaje się to najlepsza odpowiedź , ponieważ jest to „dowód na przyszłość”: od 18.10 będziesz otrzymywać to samo oprogramowanie w oficjalnych repozytoriach.ant
biblioteki instalowane przez apt zamiast używania Gradle do kompilacji?pdftk-java
są dobrze wybrane. Możesz to sprawdzić.pdftk-java
.W przypadku Ubuntu 18.04 wystarczy zainstalować pakiet przystawki pdftk:
źródło
snap
wydaje się, że potrzebuje nazwy skryptu. Ale minimalny skrypt otoki/snap/bin/pdftk-smoser.pdftk "$@"
działa równie dobrze.Instalowanie pdftk na Ubuntu 18.04 amd64
Napisałem mały skrypt bash, który automatyzuje instalację na Ubuntu 18.04. Pamiętaj, że pobrałem tylko pakiety amd64 !
Ten skrypt pobierze pakiety
/tmp
i zainstaluje stamtąd za pomocąapt install
polecenia! Następnie pakiety w/tmp
katalogu zostaną usunięte.Aby uruchomić ten skrypt, skopiuj go do edytora i zapisz np . Pdftk_installer . Następnie uruchom go w terminalu za pomocą
źródło
pdftk-dbg_2.02-4build1_amd64.deb
to, że jest opcjonalneMożesz spróbować użyć obrazu dokera Ubuntu 16.04 z zainstalowanym programem pdftk, aby uruchomić program pdftk:
Zainstaluj dokera:
Pobierz Ubuntu 16.04 i uruchom powłokę bash:
Zaktualizuj i zainstaluj pdftk z wiersza polecenia:
W nowym uruchomieniu terminala:
Zatwierdź obraz, używając ID KONTENERA ubuntu: 16.04, do nowego obrazu z zainstalowanym pdftk:
(Zamień na
CONTAINER_ID
swój identyfikator kontenera.)Utwórz plik o nazwie
pdftk
in,/usr/bin
a następnie wykonaj go przy użyciuchmod +x /usr/bin/pdftk
:źródło
-v "$PWD:/workdir$PWD" -w "/workdir$PWD"
?Byłem w stanie zainstalować pdftk z pomysłowych pakietów deb (17.10). Pobierz, a następnie zainstaluj w tej kolejności:
Najlepiej jest zainstalować
gcc-6-base
najpierw, aby uniknąć błędu zależności, jeśli robisz to z cli.To powinno wystarczyć ... na razie.
źródło
Zrobiłem szybkie i nieprzyzwoite obejście, aby uruchomić PDFTK pod Bionic.
Aktualizuję mój
sources.list
i dołączam następujące wiersze:Potem uruchamiam prosty
aby zmiany zaczęły obowiązywać.
Następnie zainstaluj pdftk przez
Następnie ponownie usuń źródła Artful z source.list i w ten sposób uruchomię PDFTK pod Bionic.
Źródło: https://christiandietze.de/pdftk-with-ubuntu-bionic-18-04/
źródło
Działa to dla Ubuntu 18.04:
źródło
Możesz uruchomić pdftk na Ubuntu 18.04 z dokerem. To ulepszony wariant odpowiedzi Ademira.
Zakładając, że potrzebujemy tylko komponentu cli pdftk i na komputerze jest zainstalowany doker. Po prostu umieść następujący skrypt gdzieś na $ PATH z nazwą
pdftk
i ustawionym bitem wykonywalnym:Pierwsze uruchomienie zajmie około 2 minut, aby zbudować obraz, jeśli zbudowany obraz pozostanie na komputerze, kolejne uruchomienia będą szybsze. Możesz swobodnie wyczyścić obraz, zostanie on zbudowany, gdy będziesz go potrzebować następnym razem.
źródło
Linki do pobierania w skrypcie opublikowanym przez @abu_bua wydają się już nie działać (prawdopodobnie z powodu końca wsparcia dla 17.10?), Więc tutaj jest zmodyfikowana wersja tego samego skryptu, który używa odpowiednich pakietów z kompilacji 16.04. Wypróbowany i przetestowany na maszynie z 18.04.
źródło
Podoba mi się odpowiedź dokera Ademir , ale ma typowe problemy z bezpieczeństwem i uprawnieniami, ponieważ doker musi działać jako root. Jeśli Ci to przeszkadza, spróbuj użyć Osobliwości . Musisz zbudować obraz jako root, ale każdy użytkownik może go uruchomić.
Oto
Singularity
plik, którego użyłem:Potem zbudowałem obraz.
Gdy to zadziałało, zainstalowałem go w folderze na ścieżce wraz ze skryptem otoki, który ustawia folder domowy na bieżący katalog.
A teraz mogę biegać
pdftk
.Jedyną wadą jest to, że jest to dość duży plik wykonywalny, ponieważ zawiera pełną dystrybucję Ubuntu 16.04. Możesz również mieć problemy, jeśli próbujesz manipulować plikami PDF, które nie znajdują się w bieżącym katalogu.
źródło
Cóż za świetna okazja, aby użyć magii dokerów!
To, co zrobiłem, to użyć kontenera dokującego z systemem Ubuntu 16.04, zainstalować w nim pdftk i tam go uruchomić.
Oto dokładne kroki, jeśli chcesz zrobić to samo:
pdftk
docker
wewnątrzpdftk
katalogupdftk/docker
katalogu: https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfilepdftk/docker
katalogu: https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershelldockershell
skrypt jest wykonywalnypdftk
katalogu skopiuj wszystkie pliki pdf, z którymi chcesz pracowaćcd /path/to/pdftk
docker/dockershell docker/Dockerfile
(zajmie to trochę czasu przy pierwszym uruchomieniu)Teraz powinieneś zobaczyć monit w kontenerze dokera, z którego możesz uruchomić pdftk. Po
exit
zakończeniu wpisz, aby wyjść z kontenera i powrócić do komputera hosta. Wszelkie nowo wygenerowane pliki będą obecne wpdftk
katalogu (ale będą własnością root, więc w razie potrzeby konieczna może być zmiana właściciela).źródło
W dniu 18.04 w WSL zrobiłem następujące
Pobierz zależności z (plików .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
następnie zainstaluj powyższe zależności
potem wziąłem
.deb
z https://packages.debian.org/search?ke Keywords=pdftkźródło