Skip to content

aelyn4k/Convertify-PDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“„ PDF Toolkit β€” OCR & Konversi

Aplikasi web sederhana berbasis Flask untuk mengelola dan mengonversi file PDF maupun gambar.
Mendukung berbagai fitur praktis yang dapat digunakan langsung melalui browser.

Screenshot


✨ Fitur Utama

Fitur Deskripsi
OCR PDF Mengubah PDF hasil scan menjadi PDF yang dapat dicari teksnya (searchable PDF) menggunakan Tesseract OCR.
Gabung PDF Menggabungkan beberapa file PDF menjadi satu file PDF.
PDF β†’ DOCX Mengonversi PDF berbasis teks menjadi dokumen Microsoft Word .docx.
PNG/JPG β†’ PDF Menggabungkan satu atau banyak gambar menjadi satu file PDF.
PDF β†’ PNG Mengubah setiap halaman PDF menjadi gambar PNG, kemudian mengemasnya dalam file ZIP.

πŸ“¦ Instalasi

1. Clone Repository

git clone https://github.com/zzkydev/Convertify-PDF.git
cd Convertify-PDF

2. (Opsional) Buat Virtual Environment

python -m venv .venv

# Aktifkan venv
# Windows
.venv\Scripts\activate

# macOS / Linux
source .venv/bin/activate

3. Install Dependensi Python

pip install -r requirements.txt

4. Install Dependensi Sistem

Ubuntu/Debian

sudo apt update
sudo apt install tesseract-ocr ghostscript poppler-utils

macOS (Homebrew)

brew install tesseract ghostscript poppler

Windows

Pastikan folder bin dari masing-masing aplikasi ditambahkan ke PATH.


▢️ Menjalankan Aplikasi

python app.py

Buka browser dan akses:

http://localhost:5000

πŸ“‚ Panduan Penggunaan

Aplikasi ini memiliki tampilan web yang terdiri dari beberapa tab, masing-masing untuk fitur yang berbeda.

1. OCR PDF

  1. Pilih tab OCR PDF.
  2. Masukkan bahasa OCR (contoh: eng untuk Inggris, eng+ind untuk Inggris & Indonesia).
  3. Unggah file PDF hasil scan.
  4. Setelah proses selesai, file PDF hasil OCR akan otomatis terunduh.

2. Gabung PDF

  1. Pilih tab Gabung PDF.
  2. Unggah beberapa file PDF.
  3. File gabungan akan otomatis diunduh.

3. PDF β†’ DOCX

  1. Pilih tab PDF→DOCX.
  2. Unggah file PDF berbasis teks.
  3. File .docx hasil konversi akan otomatis terunduh.

4. PNG/JPG β†’ PDF

  1. Pilih tab IMG→PDF.
  2. Unggah satu atau beberapa gambar.
  3. Semua gambar akan digabung menjadi satu PDF.

5. PDF β†’ PNG

  1. Pilih tab PDF→PNG.
  2. Atur DPI (default: 200).
  3. Unggah file PDF.
  4. Hasilnya berupa file ZIP berisi PNG per halaman.

πŸ”— Endpoint API (Opsional untuk Pengembang)

Endpoint Metode Deskripsi
/api/ocr/pdf POST OCR PDF β†’ PDF searchable (lang opsional, contoh eng+ind)
/api/merge/pdf POST Gabung beberapa PDF (files[] multiple)
/api/convert/pdf-to-docx POST PDF β†’ DOCX
/api/convert/img-to-pdf POST PNG/JPG β†’ PDF (bisa multi-file)
/api/convert/pdf-to-png POST PDF β†’ PNG (ZIP; param dpi opsional)

πŸ“‹ Requirements

Python Dependencies

Buat file requirements.txt:

Flask==2.3.2
PyPDF2==3.0.1
pdf2docx==0.5.6
Pillow==10.0.0
pytesseract==0.3.10
pdf2image==1.16.3

Sistem Requirements

  • Tesseract OCR - untuk fitur OCR PDF
  • Ghostscript - untuk processing PDF
  • Poppler - untuk konversi PDF ke gambar

⚠️ Catatan Penting

  • Fitur OCR PDF membutuhkan Tesseract OCR dan Ghostscript terpasang di server.
  • Fitur PDF β†’ PNG membutuhkan Poppler.
  • Proses untuk file besar memerlukan waktu lebih lama.
  • Untuk produksi, jalankan dengan gunicorn/uwsgi di belakang nginx, dan nonaktifkan debug=True pada app.py.

πŸš€ Deployment

Menggunakan Gunicorn (Produksi)

pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app

Menggunakan Docker

Buat Dockerfile:

FROM python:3.9-slim

# Install sistem dependencies
RUN apt-get update && apt-get install -y \
    tesseract-ocr \
    ghostscript \
    poppler-utils \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

EXPOSE 5000
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "app:app"]

🀝 Kontribusi

  1. Fork repository ini
  2. Buat branch fitur baru (git checkout -b fitur-baru)
  3. Commit perubahan (git commit -am 'Tambah fitur baru')
  4. Push ke branch (git push origin fitur-baru)
  5. Buat Pull Request

πŸ“œ Lisensi

Proyek ini menggunakan lisensi MIT β€” bebas digunakan, dimodifikasi, dan didistribusikan.


πŸ“ž Dukungan

Jika Anda mengalami masalah atau memiliki pertanyaan:


Dibuat dengan ❀️ menggunakan Flask dan Python

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors