Bagaimana saya bisa menginstal pdftk di Ubuntu 18.04 dan yang lebih baru?


105

Apakah ada peluang untuk pdftkbekerja di Ubuntu 18.04? Saya memerlukan ini untuk membuat file PDF dengan tanda air di shell.

Atau, adakah yang tahu alternatif bekerja pdftkuntuk 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.


3
dan Rantai PDF juga! Kedua alat ini sangat berharga bagi saya!
Joshp.23

3
Jangan hanya menulis "Anda dapat mencoba ...", jelaskan bagaimana Anda melakukannya dan langkah-langkah yang harus Anda ikuti untuk membuat jawabannya lebih bermanfaat
ADDB

1
Jika Anda memecahkan sendiri masalah Anda, harap jawab pertanyaan Anda sendiri dan terima jawaban Anda. Jangan berikan jawaban pada pertanyaan atau komentar Anda! :-) Saya mengambil kebebasan untuk mengembalikan perubahan yang menambahkan jawaban tetapi Anda selalu dapat meninjau riwayat kiriman melalui tautan di bawahnya.
David Foerster

5
FYI, pdftk dijatuhkan dari repositori dan ada permintaan fitur untuk menambahkannya kembali.
David Foerster

2
ini memalukan bahwa alat yang bagus seperti itu dihapus hanya karena pengembang tidak menemukan solusi yang dapat diterima
Daniel Alder

Jawaban:


92

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-javadari kode sumber yang sama seperti di bawah ini sebagai pengganti. Mencoba menginstal pdftkakan 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:

sudo add-apt-repository ppa:malteworld/ppa
sudo apt update
sudo apt install pdftk

Paket berisi skrip pembungkus yang ditempatkan di /usr/bin, sehingga Anda dapat memintanya seperti biasa:

pdftk <arguments> ...

Instal dari sumber

  1. Instal alat bantu dan dependensi:

    sudo apt install git default-jdk-headless ant \
        libcommons-lang3-java libbcprov-java
    

    Tentu saja Anda dapat menggunakan JDK yang didukung berbeda dari yang disediakan oleh default-jdk-headless.

  2. Unduh garpu pdftk Marc Vinyal :

    git clone https://gitlab.com/pdftk-java/pdftk.git
    cd pdftk
    
  3. Tempatkan tautan simbolis ke pustaka yang diperlukan ke dalam libfolder:

    mkdir lib
    ln -st lib /usr/share/java/{commons-lang3,bcprov}.jar
    
  4. Bangun paket JAR:

    ant jar
    
  5. Jalankan paket JAR:

    java -jar build/jar/pdftk.jar --help
    
  6. (Opsional) Untuk menjalankan paket JAR, mis. Ketika Anda mendistribusikannya ke sistem lain, Anda memerlukan setidaknya JRE yang berfungsi (tanpa kepala) seperti dari default-jre-headlesspaket serta perpustakaan Java libcommons-lang3-javadan libbcprov-java:

    sudo apt install default-jre-headless libcommons-lang3-java libbcprov-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).

  7. (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:

  • Tidak , Rantai PDF adalah aplikasi C ++ dan tidak secara langsung dipengaruhi oleh penghentian GCJ. Ini membutuhkan pdftk yang dapat dieksekusi tetapi tidak peduli bagaimana kerjanya di bawah tenda. Bagaimanapun, Rantai PDF dijatuhkan dari Bionic dan juga pdftk .

Saya membaca pertanyaan lain tentang menginstal paket berbeda yang dijatuhkan dari repo untuk 18,04, dan seorang pengguna menyarankan menginstal paket deb. Menggunakan gdebi, yang seharusnya menangani dependensi. Apakah Anda pikir itu akan berhasil atau akan menimbulkan masalah? Itu mungkin pertanyaan bodoh - Saya hanya mencoba memahami lebih banyak tentang manajemen paket.
Hee Jin

5
Kedua set instruksi dalam jawaban ini menginstal pdftk-javagarpu Marc Vinyal . Itu akan (sangat mungkin) pengganti resmi untuk pdftkdi 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.
tanius

@ DavidFoerster Di atasnya. Pertanyaan: Apakah ada alasan khusus untuk merekomendasikan antperpustakaan yang diinstal via apt over menggunakan Gradle untuk versi build?
Raphael

Pada pertanyaan lanjutan mengenai paket boneka tersebut, muncul keraguan apakah dependensi dipilih dengan pdftk-javabaik. Anda mungkin ingin memeriksanya.
Raphael

Saya membuat deskripsi paket untuk equivs yang menyediakan Java yang diinstal oleh SDKMAN! sebagai paket yang memenuhi dependensi pdftk-java.
Raphael

61

Untuk Ubuntu 18.04, cukup instal paket snap pdftk:

sudo snap install pdftk

1
Menyinkronkan tidak berfungsi untuk saya, karena snapsepertinya memerlukan nama skrip. Tapi skrip pembungkus minimal /snap/bin/pdftk-smoser.pdftk "$@"berfungsi sama baiknya.
Boldewyn

Apa versi Ubuntu? Instruksi tepat yang saya berikan di atas bekerja untuk saya. Saya memanggil pdftk dari beberapa skrip pemrosesan perl xml dan tes asam adalah skrip yang berfungsi dan menghasilkan pdf yang digabung.
pgoetz

3
saya memperbarui jawaban di atas untuk menggunakan hanya 'pdftk' daripada 'pdftk' karena saya (smoser) telah mengunggah snap bernama 'pdftk' ke toko dengan konten yang sama. ( snapcraft.io/pdftk )
smoser

4
Ini tampaknya menginstal baik-baik saja tetapi pdftk tidak akan membuka atau bekerja pada file apa pun (selalu mengatakan 'Kesalahan: Tidak dapat menemukan file. Kesalahan: Gagal membuka file PDF:'), juga tidak memiliki halaman manual. Pada akhirnya saya menghapusnya dengan snap remove dan melanjutkan dengan solusi @abu_bua di atas, yang bekerja dengan sempurna.
scoobydoo

1
Karena titik desain terkunci, snap tidak dapat mengakses semua file. Beberapa informasi tentang ini tersedia di github.com/smoser/pdftk/issues/1 . Solusi termudah adalah dengan meletakkan file di direktori home Anda.
smoser

36

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 !

#!/bin/bash
#
# author: abu
# date:   July 3 2019 (ver. 1.1)
# description: bash script to install pdftk on Ubuntu 18.04 for amd64 machines
##############################################################################
#
# change to /tmp directory
cd /tmp
# download packages
wget http://launchpadlibrarian.net/340410966/libgcj17_6.4.0-8ubuntu1_amd64.deb \
 http://launchpadlibrarian.net/337429932/libgcj-common_6.4-3ubuntu1_all.deb \
 https://launchpad.net/ubuntu/+source/pdftk/2.02-4build1/+build/10581759/+files/pdftk_2.02-4build1_amd64.deb \
 https://launchpad.net/ubuntu/+source/pdftk/2.02-4build1/+build/10581759/+files/pdftk-dbg_2.02-4build1_amd64.deb


echo -e "Packages for pdftk downloaded\n\n"
# install packages 
echo -e "\n\n Installing pdftk: \n\n"
sudo apt-get install ./libgcj17_6.4.0-8ubuntu1_amd64.deb \
    ./libgcj-common_6.4-3ubuntu1_all.deb \
    ./pdftk_2.02-4build1_amd64.deb \
    ./pdftk-dbg_2.02-4build1_amd64.deb
echo -e "\n\n pdftk installed\n"
echo -e "   try it in shell with: > pdftk \n"
# delete deb files in /tmp directory
rm ./libgcj17_6.4.0-8ubuntu1_amd64.deb
rm ./libgcj-common_6.4-3ubuntu1_all.deb
rm ./pdftk_2.02-4build1_amd64.deb
rm ./pdftk-dbg_2.02-4build1_amd64.deb

Skrip ini akan mengunduh paket ke /tmpdan menginstal dari sana menggunakan apt installperintah! Setelah itu paket-paket dalam /tmpdirektori akan dihapus.

Untuk menjalankan skrip ini, salin di editor dan simpan misalnya pdftk_installer . Kemudian jalankan di terminal dengan

chmod 755 pdftk_installer
./pdftk_installer

sepertinya pdftk-dbg_2.02-4build1_amd64.debopsional
Jossef Harush

Ini jauh lebih disukai daripada versi snap atau versi berbasis java dari PPA - terima kasih!
simon

Untuk menawarkan beberapa penjelasan, ini muncul untuk mengunduh paket Ubuntu-artful (17.10).
Randall Whitman

3
Semua Tautan rusak
Pengembang

1
tautan diperbarui sekarang!
abu_bua

10

Anda dapat mencoba menggunakan gambar buruh pelabuhan dari Ubuntu 16.04 dengan pdftk diinstal untuk menjalankan pdftk:

  1. Instal buruh pelabuhan:

    sudo apt install docker.io
  2. Tarik Ubuntu 16.04 dan jalankan bash shell:

    sudo docker run -it ubuntu:16.04 bash
  3. Perbarui dan instal pdftk dari prompt kontainer:

    apt update
    apt install pdftk
    
  4. Pada terminal run baru:

    sudo docker ps -a
  5. Komit gambar menggunakan ID KONTAINER dari ubuntu: 16.04 ke gambar baru dengan pdftk diinstal:

    sudo docker commit CONTAINER_ID ubuntu_pdftk

    (Ganti CONTAINER_IDdengan ID wadah Anda.)

  6. Buat sebuah file bernama pdftkdalam /usr/bindan kemudian membuatnya dieksekusi menggunakan chmod +x /usr/bin/pdftk:

    #!/bin/sh
    set -eu
    docker run --name pdftk -it -v "$PWD:/workdir$PWD" -w "/workdir$PWD" ubuntu_pdftk pdftk "$@"
    docker rm pdftk
    

Hampir persis apa yang saya lakukan. Kecuali, apakah Anda tidak memiliki kesalahan -v "$PWD:/workdir$PWD" -w "/workdir$PWD"?
Ondra Žižka

5

Saya dapat menginstal pdftk dari paket deb artful (17.10). Unduh lalu instal, dengan urutan:

Yang terbaik adalah menginstal gcc-6-baseterlebih dahulu untuk menghindari kesalahan dependensi jika Anda melakukannya dari cli.

Itu harus melakukan trik ... untuk saat ini.


2

Saya membuat solusi cepat dan kotor untuk menjalankan PDFTK di bawah Bionic.

lsb_release -a && pdftk --version
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04 LTS
Release:        18.04
Codename:       bionic

pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: www.pdftk.com

Saya memperbarui sources.listdan menyertakan baris-baris berikut:

deb http://no.archive.ubuntu.com/ubuntu/ artful main restricted
deb http://no.archive.ubuntu.com/ubuntu/ artful-updates main restricted
deb http://no.archive.ubuntu.com/ubuntu/ artful universe
deb http://no.archive.ubuntu.com/ubuntu/ artful-updates universe
deb http://no.archive.ubuntu.com/ubuntu/ artful multiverse
deb http://no.archive.ubuntu.com/ubuntu/ artful-updates multiverse
deb http://no.archive.ubuntu.com/ubuntu/ artful-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu artful-security main restricted
deb http://security.ubuntu.com/ubuntu artful-security universe
deb http://security.ubuntu.com/ubuntu artful-security multiverse

Setelah itu saya jalankan yang sederhana

sudo apt update

untuk membuat perubahan berlaku.

Kemudian instal pdftk via

sudo apt install pdftk

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/


5
Hai Christian, maukah Anda memperbarui jawaban Anda untuk memasukkan apa solusi Anda? Kami lebih suka jika Anda memasukkan bagian-bagian penting dari jawaban di sini dan kemudian memberikan tautan untuk referensi. Terima kasih!
CalvT

1
Ya, terutama karena situs yang Anda tautkan tampaknya sedang down.
terdon

Halo CalvT, solusi yang saya gunakan hanyalah menambahkan paket artfull ke apt, instal pdftk dan hapus. Dan situs saya terdon tidak turun dalam 30 hari terakhir jadi saya tidak tahu mengapa Anda tidak harus mengakses situs.
WiKrIe

@WiKrIe Ada masalah dengan situs Anda. Saya dapat mencapai URL dasar, tetapi bukan halaman yang Anda tautkan. Wayback Machine juga tidak bisa. Google cache tidak akan memuatnya, tetapi akan memuat sumbernya . Pasti ada masalah di halaman itu di suatu tempat. Jadi itu sebabnya ♦ pikir situs Anda rusak. Aku juga sampai aku memeriksa. Semoga itu bisa membantu.
Dɑvïd

1
-1 untuk saran untuk mencampur repositori yang dimaksudkan untuk rilis Ubuntu yang berbeda tanpa aturan prioritas yang tepat.
David Foerster


1

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 pdftkdan set bit yang dapat dieksekusi:

#!/bin/bash

# Build or use cached image and tag with "local/local/ubuntu_pdftk", suppress 
# output to maintain compatibility in case you are parsing the pdftk output.
# It will build the image if it's absent or use the cached one.
echo "FROM ubuntu:16.04
RUN apt-get update && \
    apt-get install -y pdftk && \
    rm -rf /var/lib/apt/lists/*" | docker build -t local/local/ubuntu_pdftk - 2>&1 > /dev/null

# Run the pdftk as current user
set -eu
docker run --name pdftk -it --user $(id -u):$(id -g) --rm -v "$PWD:/workdir$PWD" -w "/workdir$PWD" local/local/ubuntu_pdftk pdftk "$@"

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.


1

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.

#!/bin/bash
#
# author: abu
# date:   May 12 2018
# description: bash script to install pdftk on Ubuntu 18.04 for amd64 machines
##############################################################################
#
# change to /tmp directory
cd /tmp
# download packages
wget http://mirrors.edge.kernel.org/ubuntu/pool/main/g/gcc-5/libgcj16_5.4.0-6ubuntu1~16.04.10_amd64.deb \
    http://mirrors.edge.kernel.org/ubuntu/pool/main/g/gcc-defaults/libgcj-common_4.9.3-9ubuntu1_all.deb \
    http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pdftk/pdftk_2.02-4_amd64.deb \
    http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pdftk/pdftk-dbg_2.02-4_amd64.deb

echo -e "Packages for pdftk downloaded\n\n"
# install packages 
echo -e "\n\n Installing pdftk: \n\n"
sudo apt-get install ./libgcj16_5.4.0-6ubuntu1~16.04.10_amd64.deb \
    ./libgcj-common_4.9.3-9ubuntu1_all.deb \
    ./pdftk_2.02-4_amd64.deb \
    ./pdftk-dbg_2.02-4_amd64.deb
echo -e "\n\n pdftk installed\n"
echo -e "   try it in shell with: > pdftk \n"
# delete deb files in /tmp directory
rm ./libgcj16_5.4.0-6ubuntu1~16.04.10_amd64.deb
rm ./libgcj-common_4.9.3-9ubuntu1_all.deb
rm ./pdftk_2.02-4_amd64.deb
rm ./pdftk-dbg_2.02-4_amd64.deb

1

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 Singularityfile yang saya gunakan:

# Generate the Singularity container to run pdftk from Ubuntu 16.04.
Bootstrap: docker
From: ubuntu:16.04

%help
    pdftk was removed from Ubuntu 18.04, so this container packages up the old
    version.

%post
    apt-get update -qq
    apt-get install -qq pdftk

%runscript
    pdftk "$@"

Lalu saya membangun gambar.

sudo singularity build pdftk.simg Singularity

Setelah itu berhasil, saya menginstalnya ke folder di jalan, bersama dengan skrip pembungkus yang menetapkan folder rumah ke direktori saat ini.

sudo mv pdftk.simg /usr/bin/
echo 'singularity run --home $PWD /usr/bin/pdftk.simg "$@"' > pdftk
sudo chown root:root pdftk
sudo chmod +x pdftk
sudo mv pdftk /usr/bin

Dan sekarang saya bisa lari pdftk.

$ pdftk --version

pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: www.pdftk.com
This is free software; see the source code for copying conditions. There is
NO warranty, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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.

$ ls -lh /usr/bin/pdftk*
-rwxr-xr-x 1 root root  53 Jul 23 12:32 /usr/bin/pdftk
-rwxr-xr-x 1 root root 88M Jul 23 12:06 /usr/bin/pdftk.simg

0

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:

  1. Instal docker jika Anda belum memilikinya ( https://docs.docker.com/install/ )
  2. Buat direktori di suatu tempat bernama pdftk
  3. Buat direktori yang disebut dockerdi dalam pdftkdirektori
  4. Salin Dockerfile ini ke pdftk/dockerdirektori: https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfile
  5. Salin skrip ini juga ke pdftk/dockerdirektori: https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershell
  6. Pastikan dockershellskrip dapat dieksekusi
  7. Ke dalam pdftkdirektori, salin semua file pdf yang ingin Anda kerjakan
  8. cd /path/to/pdftk
  9. Jalankan skrip dockershell dengan jalur Dockerfile: 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 exituntuk keluar dari wadah dan kembali ke mesin host. Setiap file yang baru dibuat akan ada di pdftkdirektori (tetapi mereka akan dimiliki oleh root, jadi Anda mungkin perlu mengubah kepemilikan sesuai kebutuhan).


0

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

sudo apt install gcc-6-base

kemudian instal dependensi di atas

sudo dpkg -i libgcj*

kemudian saya ambil .debdari https://packages.debian.org/search?keywords=pdftk

wget http://ftp.us.debian.org/debian/pool/main/p/pdftk/pdftk_2.02-4+b2_amd64.deb
sudo dpkg -i pdftk_2.02-4+b2_amd64.deb

1
Tautan untuk libgcj dan libgcj17 rusak.
HJLebbink

1
@HJLebbink Ubuntu tidak lagi membuat berseni :( tautan perpustakaan
Eduard Florinescu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.