Apakah ada peluang untuk pdftk
bekerja di Ubuntu 18.04? Saya memerlukan ini untuk membuat file PDF dengan tanda air di shell.
Atau, adakah yang tahu alternatif bekerja pdftk
untuk menghasilkan PDF dengan tanda air di shell?
Saya sudah memeriksa / mencoba semuanya:
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
Tetapi tidak menemukan alat yang berfungsi.
software-installation
pdf
18.04
pdftk
WiKrIe
sumber
sumber
Jawaban:
The paket pdftk di Ubuntu (dan hulu paket Debian ) dijatuhkan karena ketergantungan pada runtime GCJ sekarang usang. Saya menemukan garpu yang tergantung pada OpenJDK atau yang serupa.
Instal dari rilis Ubuntu yang akan datang (disarankan)
Dimulai dengan Cosmic (Ubuntu 18.10), Ubuntu dikirimkan
pdftk-java
dari kode sumber yang sama seperti di bawah ini sebagai pengganti. Mencoba menginstalpdftk
akan menginstal paket ini sebagai gantinya. Pengguna rilis sebelumnya dapat mengunduhnya secara manual dari repositori paket dan menginstalnya dengan pengelola paket favorit mereka.Pasang dari PPA(kedaluwarsa)Saya membuat paket Deb (hanya untuk Bionic) dengan dependensi yang sesuai:Paket berisi skrip pembungkus yang ditempatkan di
/usr/bin
, sehingga Anda dapat memintanya seperti biasa:Instal dari sumber
Instal alat bantu dan dependensi:
Tentu saja Anda dapat menggunakan JDK yang didukung berbeda dari yang disediakan oleh
default-jdk-headless
.Unduh garpu pdftk Marc Vinyal :
Tempatkan tautan simbolis ke pustaka yang diperlukan ke dalam
lib
folder:Bangun paket JAR:
Jalankan paket JAR:
(Opsional) Untuk menjalankan paket JAR, mis. Ketika Anda mendistribusikannya ke sistem lain, Anda memerlukan setidaknya JRE yang berfungsi (tanpa kepala) seperti dari
default-jre-headless
paket serta perpustakaan Javalibcommons-lang3-java
danlibbcprov-java
:Sekali lagi Anda dapat menggunakan JRE berbeda dari
default-jre-headless
. Garpu pdftk ini juga mendukung build untuk versi JRE yang lebih lama (≥ 7 menurut dokumentasi).(Opsional) Anda dapat mengajarkan Linux untuk mengeksekusi file JAR (Java Archive) via
update-binfmts(8)
. Sebagian besar JRE dikirim dalam paket Deb, termasuk yang ada dalam repositori paket Canonical, mengurusnya selama instalasi, meskipun tampaknya bermasalah di beberapa paket OpenJDK.PS: Saya mencoba ini dengan OpenJDK 9 non-headless di Ubuntu Trusty tapi saya melihat sedikit alasan mengapa itu tidak bisa bekerja dengan OpenJDK 10 tanpa kepala di Bionic.
Tergantung aplikasi
Seorang komentator mengajukan pertanyaan yang valid apakah aplikasi Rantai PDF bergantung dipengaruhi oleh perubahan ini:
sumber
pdftk-java
garpu Marc Vinyal . Itu akan (sangat mungkin) pengganti resmi untukpdftk
di Debian ( lihat ) dan di Ubuntu (dengan paket tersedia untuk 18,10). Jadi ini tampaknya menjadi jawaban terbaik , karena ini adalah "bukti masa depan": mulai 18.10 dan seterusnya, Anda akan mendapatkan perangkat lunak yang sama yang disajikan dalam repo resmi.ant
perpustakaan yang diinstal via apt over menggunakan Gradle untuk versi build?pdftk-java
baik. Anda mungkin ingin memeriksanya.pdftk-java
.Untuk Ubuntu 18.04, cukup instal paket snap pdftk:
sumber
snap
sepertinya memerlukan nama skrip. Tapi skrip pembungkus minimal/snap/bin/pdftk-smoser.pdftk "$@"
berfungsi sama baiknya.Menginstal pdftk pada Ubuntu 18.04 amd64
Saya telah menulis skrip bash kecil yang mengotomatiskan instalasi pada Ubuntu 18.04. Perhatikan bahwa saya hanya mengunduh paket amd64 !
Skrip ini akan mengunduh paket ke
/tmp
dan menginstal dari sana menggunakanapt install
perintah! Setelah itu paket-paket dalam/tmp
direktori akan dihapus.Untuk menjalankan skrip ini, salin di editor dan simpan misalnya pdftk_installer . Kemudian jalankan di terminal dengan
sumber
pdftk-dbg_2.02-4build1_amd64.deb
opsionalAnda dapat mencoba menggunakan gambar buruh pelabuhan dari Ubuntu 16.04 dengan pdftk diinstal untuk menjalankan pdftk:
Instal buruh pelabuhan:
Tarik Ubuntu 16.04 dan jalankan bash shell:
Perbarui dan instal pdftk dari prompt kontainer:
Pada terminal run baru:
Komit gambar menggunakan ID KONTAINER dari ubuntu: 16.04 ke gambar baru dengan pdftk diinstal:
(Ganti
CONTAINER_ID
dengan ID wadah Anda.)Buat sebuah file bernama
pdftk
dalam/usr/bin
dan kemudian membuatnya dieksekusi menggunakanchmod +x /usr/bin/pdftk
:sumber
-v "$PWD:/workdir$PWD" -w "/workdir$PWD"
?Saya dapat menginstal pdftk dari paket deb artful (17.10). Unduh lalu instal, dengan urutan:
Yang terbaik adalah menginstal
gcc-6-base
terlebih dahulu untuk menghindari kesalahan dependensi jika Anda melakukannya dari cli.Itu harus melakukan trik ... untuk saat ini.
sumber
Saya membuat solusi cepat dan kotor untuk menjalankan PDFTK di bawah Bionic.
Saya memperbarui
sources.list
dan menyertakan baris-baris berikut:Setelah itu saya jalankan yang sederhana
untuk membuat perubahan berlaku.
Kemudian instal pdftk via
Kemudian hapus sumber Artful dari source.list lagi dan ini adalah bagaimana saya menjalankan PDFTK di bawah Bionic.
Sumber: https://christiandietze.de/pdftk-with-ubuntu-bionic-18-04/
sumber
Ini berfungsi untuk ubuntu 18.04:
sumber
Anda dapat menjalankan pdftk di Ubuntu 18.04 dengan buruh pelabuhan. Itu varian yang ditingkatkan dari jawaban Ademir.
Dengan asumsi kita hanya memerlukan komponen cli dari pdftk dan ada docker yang diinstal pada mesin. Cukup letakkan skrip berikut di suatu tempat di $ PATH dengan nama
pdftk
dan set bit yang dapat dieksekusi:Proses pertama akan memakan waktu sekitar 2 menit untuk membangun gambar, jika gambar yang dibangun akan tetap berada di mesin, proses selanjutnya akan lebih cepat. Anda dapat dengan bebas membersihkan gambar, itu akan dibangun ketika Anda akan membutuhkannya di lain waktu.
sumber
Tautan unduhan dalam skrip yang diposting oleh @abu_bua tampaknya tidak berfungsi lagi (mungkin karena akhir dukungan untuk 17.10?), Jadi di sini adalah versi modifikasi dari skrip yang sama yang menggunakan paket yang sesuai dari versi 16.04. Dicoba dan diuji pada mesin yang menjalankan 18,04.
sumber
Saya suka jawaban buruh pelabuhan Ademir , tetapi memiliki masalah khas dengan keamanan dan izin, karena buruh pelabuhan harus dijalankan sebagai root. Jika itu mengganggu Anda, coba gunakan Singularity . Anda perlu membangun gambar sebagai root, tetapi pengguna mana pun dapat menjalankannya.
Inilah
Singularity
file yang saya gunakan:Lalu saya membangun gambar.
Setelah itu berhasil, saya menginstalnya ke folder di jalan, bersama dengan skrip pembungkus yang menetapkan folder rumah ke direktori saat ini.
Dan sekarang saya bisa lari
pdftk
.Satu-satunya sisi adalah bahwa itu adalah executable agak besar, karena mengandung distribusi Ubuntu 16.04 lengkap. Anda juga mungkin mengalami masalah jika Anda mencoba memanipulasi file PDF yang tidak ada di direktori saat ini.
sumber
Kesempatan yang luar biasa untuk menggunakan sihir buruh pelabuhan!
Apa yang saya lakukan adalah menggunakan wadah buruh pelabuhan yang menjalankan ubuntu 16.04, instal pdftk di dalamnya dan jalankan di sana.
Inilah langkah-langkah tepat jika Anda ingin melakukan hal yang sama:
pdftk
docker
di dalampdftk
direktoripdftk/docker
direktori: https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfilepdftk/docker
direktori: https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershelldockershell
skrip dapat dieksekusipdftk
direktori, salin semua file pdf yang ingin Anda kerjakancd /path/to/pdftk
docker/dockershell docker/Dockerfile
(ini akan memakan waktu saat pertama kali Anda menjalankannya)Sekarang Anda harus memiliki prompt di dalam wadah buruh pelabuhan, dari mana Anda dapat menjalankan pdftk. Setelah selesai, ketik
exit
untuk keluar dari wadah dan kembali ke mesin host. Setiap file yang baru dibuat akan ada dipdftk
direktori (tetapi mereka akan dimiliki oleh root, jadi Anda mungkin perlu mengubah kepemilikan sesuai kebutuhan).sumber
Pada 18,04 saya berjalan di WSL saya melakukan hal berikut
Dapatkan dependensi dari (.deb file):
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
kemudian instal dependensi di atas
kemudian saya ambil
.deb
dari https://packages.debian.org/search?keywords=pdftksumber