Skip to content

Latest commit

 

History

History
64 lines (54 loc) · 2.26 KB

README.md

File metadata and controls

64 lines (54 loc) · 2.26 KB

PDF Compressor

PDF Compressor adalah sebuah program berbasis Golang yang secara otomatis mencari dan mengompresi file PDF dalam direktori yang ditentukan. Program ini menggunakan Ghostscript untuk mengurangi ukuran file PDF dengan tingkat kompresi /ebook.

Fitur

  • Mengompresi semua file PDF dalam satu atau beberapa direktori.
  • Menggunakan Ghostscript untuk kompresi.
  • Menghindari pemrosesan ulang file yang sudah dikompresi dengan tracking system.
  • Menggunakan worker pool untuk meningkatkan efisiensi pemrosesan.
  • Menjalankan proses secara terus-menerus dengan jeda 5 detik setelah selesai.

Prasyarat

Sebelum menjalankan aplikasi ini, pastikan Ghostscript telah terinstal di sistem Anda.

Instalasi Ghostscript

Ubuntu/Debian

sudo apt update && sudo apt install ghostscript -y

MacOS (Homebrew)

brew install ghostscript

Windows

  1. Unduh Ghostscript dari situs resmi: https://www.ghostscript.com/download/
  2. Instal dan tambahkan ke PATH sistem.

Cara Menggunakan

  1. Clone repository ini atau download kodenya.
  2. Build aplikasi dengan perintah berikut:
    go build -o pdf-compressor
  3. Jalankan program dengan format berikut:
    ./pdf-compressor tracking.json /path/to/directory1 /path/to/directory2
    Contoh:
    ./pdf-compressor tracking.json /home/user/documents /home/user/downloads

Cara Kerja

  1. Program akan membaca file JSON tracking untuk memastikan file yang telah dikompresi tidak diproses ulang.
  2. Program akan mencari semua file PDF dalam direktori yang diberikan.
  3. Setiap file PDF akan dikompresi menggunakan Ghostscript dengan pengaturan /ebook.
  4. Hasil kompresi akan menggantikan file asli.
  5. File yang telah diproses akan dicatat dalam tracking.json.
  6. Setelah selesai, program akan sleep selama 5 detik dan mengulangi prosesnya.

Struktur Proyek

.
├── main.go               # Program utama
├── README.md             # Dokumentasi ini
├── go.mod                # Modul Go
├── go.sum                # Dependensi Go
└── tracking.json         # File JSON untuk tracking file yang telah diproses

Dibuat dengan ❤️ menggunakan Golang