{"id":30133935,"url":"https://github.com/rezapace/go-ocr","last_synced_at":"2026-02-08T09:31:17.110Z","repository":{"id":301883629,"uuid":"1010568911","full_name":"rezapace/GO-OCR","owner":"rezapace","description":"FASTER IMAGE TO TEXT USING GOLANG","archived":false,"fork":false,"pushed_at":"2025-06-29T11:24:58.000Z","size":18421,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-10T20:44:54.586Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rezapace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-29T11:01:20.000Z","updated_at":"2025-06-29T11:25:02.000Z","dependencies_parsed_at":"2025-06-29T12:29:59.453Z","dependency_job_id":null,"html_url":"https://github.com/rezapace/GO-OCR","commit_stats":null,"previous_names":["rezapace/go-ocr"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rezapace/GO-OCR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezapace%2FGO-OCR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezapace%2FGO-OCR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezapace%2FGO-OCR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezapace%2FGO-OCR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rezapace","download_url":"https://codeload.github.com/rezapace/GO-OCR/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezapace%2FGO-OCR/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29226468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T09:15:18.648Z","status":"ssl_error","status_checked_at":"2026-02-08T09:14:33.745Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-10T20:37:02.242Z","updated_at":"2026-02-08T09:31:17.096Z","avatar_url":"https://github.com/rezapace.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OCR Simple - Tesseract Edition\n\nAplikasi OCR (Optical Character Recognition) berbasis web berkinerja tinggi yang didukung oleh **Tesseract OCR**. Aplikasi ini menyediakan antarmuka yang bersih untuk ekstraksi teks dari gambar dengan akurasi yang dapat diandalkan dan pengaturan yang mudah.\n\n## 📑 Daftar Isi\n\n- [🚀 Fitur Utama](#-fitur-utama)\n- [📋 Persyaratan Sistem](#-persyaratan-sistem)\n  - [Instalasi Tesseract OCR](#instalasi-tesseract-ocr)\n  - [Verifikasi Instalasi](#verifikasi-instalasi)\n- [🛠️ Panduan Memulai](#️-panduan-memulai)\n- [🎯 Cara Penggunaan](#-cara-penggunaan)\n- [🔧 Konfigurasi Port](#-konfigurasi-port)\n- [🌍 Dukungan Bahasa](#-dukungan-bahasa)\n- [🚨 Pemecahan Masalah](#-pemecahan-masalah)\n- [📊 Tips Performa](#-tips-performa)\n- [🔧 Detail Teknis](#-detail-teknis)\n- [🌍 Build Cross-Platform](#-build-cross-platform)\n  - [Build Platform Cepat](#build-platform-cepat)\n  - [Platform \u0026 Arsitektur yang Didukung](#platform--arsitektur-yang-didukung)\n  - [Distribution Packages](#distribution-packages)\n  - [Cross-Compilation Setup](#cross-compilation-setup)\n  - [Complete Release Process](#complete-release-process)\n  - [Build Management](#build-management)\n  - [Environment-Specific Builds](#environment-specific-builds)\n- [📦 Dependensi](#-dependensi)\n  - [Instalasi Dependensi](#instalasi-dependensi)\n- [🛠️ Pengembangan](#️-pengembangan)\n  - [Struktur Proyek](#struktur-proyek)\n  - [Build Dependencies](#build-dependencies)\n  - [Perintah Pengembangan](#perintah-pengembangan)\n- [🆚 Why Tesseract over PaddleOCR?](#-why-tesseract-over-paddleocr)\n- [🤝 Kontribusi](#-kontribusi)\n- [📄 Lisensi](#-lisensi)\n- [📞 Dukungan](#-dukungan)\n- [🔄 Changelog](#-changelog)\n\n## 🚀 Fitur Utama\n\n- **Mesin OCR Tesseract**: Pengenalan teks open-source standar industri\n- **Dukungan Multi-bahasa**: Bahasa Indonesia, Inggris, Mandarin, Jepang, dan 100+ bahasa lainnya\n- **Instalasi Mudah**: Pengaturan sederhana menggunakan package manager (brew, apt, dnf)\n- **Drag \u0026 Drop**: Upload gambar mudah dengan dukungan drag-and-drop\n- **Clipboard Paste**: Tempel gambar langsung dari clipboard (Ctrl+V)\n- **Pemrosesan Real-time**: Hasil OCR instan dengan performa yang dioptimalkan\n- **Antarmuka Modern**: Interface yang bersih dan responsif dengan preview real-time\n- **Cross-platform**: Berjalan di macOS, Linux, dan Windows\n- **Smart Port Selection**: Otomatis memilih port yang tersedia (9000, 8000, atau 7000)\n\n## 📋 Persyaratan Sistem\n\n### Instalasi Tesseract OCR\n\nPilih metode instalasi sesuai dengan sistem operasi Anda:\n\n#### 🍎 macOS (Homebrew)\n```bash\n# Instalasi dasar\nbrew install tesseract\n\n# Dengan paket bahasa tambahan\nbrew install tesseract tesseract-lang\n```\n\n#### 🐧 Linux (Ubuntu/Debian)\n```bash\n# Perbarui daftar paket dan install\nsudo apt update\nsudo apt install tesseract-ocr\n\n# Opsional: Install bahasa tambahan\nsudo apt install tesseract-ocr-ind tesseract-ocr-eng\n```\n\n#### 🐧 Linux (CentOS/RHEL/Fedora)\n```bash\n# Untuk sistem yang lebih baru\nsudo dnf install tesseract\n\n# Untuk versi lama\nsudo yum install tesseract\n```\n\n#### 🪟 Windows\n1. Unduh dari: https://github.com/UB-Mannheim/tesseract/wiki\n2. Jalankan installer sebagai Administrator\n3. **Penting**: Centang \"Add to PATH\" saat instalasi\n4. Restart command prompt setelah instalasi\n\n### Verifikasi Instalasi\n```bash\ntesseract --version\n```\nAnda akan melihat informasi versi jika Tesseract telah terinstal dengan benar.\n\n## 🛠️ Panduan Memulai\n\n1. **Clone atau unduh proyek ini**\n2. **Install Tesseract** (lihat persyaratan sistem di atas)\n3. **Jalankan aplikasi:**\n\n```bash\n# Build dan jalankan\ngo build -o ocr-app\n./ocr-app\n\n# Atau jalankan langsung\ngo run main.go\n```\n\n4. **Buka browser** ke alamat yang ditampilkan (port 9000, 8000, atau 7000)\n5. **Upload gambar** dan saksikan keajaibannya! ✨\n\n## 🎯 Cara Penggunaan\n\n1. **Upload Gambar**: \n   - Drag \u0026 drop file\n   - Klik tombol \"Browse\"\n   - Paste dari clipboard (Ctrl+V)\n\n2. **Format yang Didukung**: PNG, JPG, JPEG, GIF, BMP, TIFF\n\n3. **Dapatkan Hasil**: Teks muncul secara instan di panel kanan\n\n4. **Salin Teks**: Gunakan tombol \"Copy Text\" untuk menyalin dengan mudah\n\n## 🔧 Konfigurasi Port\n\nAplikasi ini secara otomatis akan mencoba port dalam urutan berikut:\n- **Port 9000** (prioritas pertama)\n- **Port 8000** (jika 9000 tidak tersedia)\n- **Port 7000** (jika 8000 tidak tersedia)\n\nJika semua port sedang digunakan, aplikasi akan menampilkan pesan error.\n\n## 🌍 Dukungan Bahasa\n\nTesseract mendukung 100+ bahasa. Install paket bahasa tambahan:\n\n- **Bahasa Indonesia**: `tesseract-ocr-ind`\n- **Mandarin Sederhana**: `tesseract-ocr-chi-sim`\n- **Mandarin Tradisional**: `tesseract-ocr-chi-tra`\n- **Bahasa Jepang**: `tesseract-ocr-jpn`\n- **Bahasa Korea**: `tesseract-ocr-kor`\n- **Bahasa Arab**: `tesseract-ocr-ara`\n- **Dan banyak lagi...**\n\n## 🚨 Pemecahan Masalah\n\n### ❌ \"tesseract: command not found\"\n- Pastikan Tesseract telah terinstal\n- Periksa apakah sudah ditambahkan ke system PATH\n- Restart terminal/command prompt Anda\n- Di Windows, pastikan \"Add to PATH\" dicentang saat instalasi\n\n### ❌ Aplikasi berjalan tapi menampilkan \"Not Configured\"\n- Verifikasi instalasi Tesseract: `tesseract --version`\n- Kunjungi halaman `/setup` untuk petunjuk detail\n- Periksa log server untuk pesan error\n\n### ❌ Akurasi OCR rendah\n- Gunakan gambar beresolusi tinggi dan jelas\n- Pastikan kontras yang baik antara teks dan latar belakang\n- Coba format PNG untuk hasil terbaik\n- Install paket bahasa yang sesuai\n\n### ❌ Port sudah digunakan\n- Aplikasi akan otomatis mencoba port alternatif (9000 → 8000 → 7000)\n- Jika semua port digunakan, tutup aplikasi lain yang menggunakan port tersebut\n- Atau tunggu hingga port tersedia\n\n## 📊 Tips Performa\n\n- **Kualitas Gambar**: Resolusi tinggi = akurasi lebih baik\n- **Kontras**: Teks hitam pada latar belakang putih bekerja optimal\n- **Format File**: PNG umumnya memberikan hasil terbaik\n- **Ukuran File**: Jaga di bawah 5MB untuk performa optimal\n- **Pencahayaan**: Pastikan gambar memiliki pencahayaan yang cukup\n- **Orientasi**: Pastikan teks dalam orientasi yang benar (tidak terbalik)\n\n## 🔧 Detail Teknis\n\n- **Backend**: Go dengan wrapper `github.com/tiagomelo/go-ocr`\n- **Mesin OCR**: Tesseract 4.x atau 5.x\n- **Antarmuka Web**: HTML5 modern dengan drag-and-drop\n- **Pemrosesan Gambar**: Pemrosesan in-memory dengan file sementara\n- **Concurrency**: Pemrosesan OCR thread-safe dengan worker pools\n- **Performa**: Dioptimalkan dengan caching, buffer pooling, dan pemrosesan concurrent\n- **Port Management**: Sistem pemilihan port otomatis dengan fallback\n- **Error Handling**: Penanganan error yang komprehensif dengan logging detail\n\n## 🌍 Build Cross-Platform\n\nAplikasi ini dapat di-build untuk berbagai sistem operasi dan arsitektur menggunakan Makefile yang komprehensif.\n\n### Build Platform Cepat\n\n```bash\n# Build untuk Windows (64-bit)\nmake build-windows\n\n# Build untuk macOS (Intel)\nmake build-macos\n\n# Build untuk macOS (Apple Silicon)\nmake build-macos-arm64\n\n# Build untuk Linux (64-bit)\nmake build-linux\n\n# Build untuk semua platform sekaligus\nmake build-cross-platform\n```\n\n### Platform \u0026 Arsitektur yang Didukung\n\n| Platform | Arsitektur | Perintah | File Output |\n|----------|------------|----------|-------------|\n| **Windows** | x64 (amd64) | `make build-windows` | `./build/windows/amd64/ocr-app.exe` |\n| **Windows** | x86 (386) | `make build-windows-386` | `./build/windows/386/ocr-app.exe` |\n| **macOS** | Intel (amd64) | `make build-macos` | `./build/darwin/amd64/ocr-app` |\n| **macOS** | Apple Silicon (arm64) | `make build-macos-arm64` | `./build/darwin/arm64/ocr-app` |\n| **Linux** | x64 (amd64) | `make build-linux` | `./build/linux/amd64/ocr-app` |\n| **Linux** | x86 (386) | `make build-linux-386` | `./build/linux/386/ocr-app` |\n| **Linux** | ARM64 | `make build-linux-arm64` | `./build/linux/arm64/ocr-app` |\n| **Linux** | ARM | `make build-linux-arm` | `./build/linux/arm/ocr-app` |\n\n### Distribution Packages\n\nCreate ready-to-distribute packages:\n\n```bash\n# Create packages for all platforms\nmake package-all\n\n# Create platform-specific packages\nmake package-windows    # Creates ZIP files\nmake package-macos      # Creates TAR.GZ files  \nmake package-linux      # Creates TAR.GZ files\n```\n\nPackage locations:\n- **Windows**: `./build/dist/windows/ocr-app-{version}-windows-{arch}.zip`\n- **macOS**: `./build/dist/macos/ocr-app-{version}-darwin-{arch}.tar.gz`\n- **Linux**: `./build/dist/linux/ocr-app-{version}-linux-{arch}.tar.gz`\n\n### Cross-Compilation Setup\n\nFor cross-compilation (especially Windows builds from macOS/Linux):\n\n```bash\n# Install cross-compilation tools\nmake install-cross-tools\n\n# On macOS via Homebrew\nbrew install mingw-w64\n\n# On Ubuntu/Debian\nsudo apt-get install gcc-mingw-w64\n\n# On CentOS/RHEL/Fedora\nsudo dnf install mingw64-gcc mingw32-gcc\n```\n\n### Complete Release Process\n\n```bash\n# One command to rule them all\nmake release\n\n# This will:\n# 1. Clean previous builds\n# 2. Build for all platforms\n# 3. Create distribution packages\n# 4. Show release summary\n```\n\n### Build Management\n\n```bash\n# List all available builds\nmake list-builds\n\n# List all distribution packages\nmake list-packages\n\n# Get build information\nmake info\n\n# Clean all builds\nmake clean\n```\n\n### Environment-Specific Builds\n\n```bash\n# Development build (with debug symbols)\nmake build-dev\n\n# Staging build (optimized)\nmake build-staging\n\n# Production build (fully optimized)\nmake build-prod\n```\n\n## 📦 Dependensi\n\nProyek ini menggunakan Go modules untuk manajemen dependensi. Dependensi utama meliputi:\n\n- **github.com/tiagomelo/go-ocr**: Wrapper OCR untuk Tesseract\n- **Standard Go libraries**: net/http, html/template, net, strconv, dll.\n\n### Instalasi Dependensi\n\n```bash\n# Download dan install semua dependensi\ngo mod download\n\n# Verifikasi dependensi\ngo mod verify\n\n# Bersihkan dependensi yang tidak digunakan\ngo mod tidy\n```\n\n## 🛠️ Pengembangan\n\n### Struktur Proyek\n\n```\nocr-app/\n├── main.go          # File aplikasi utama\n├── go.mod           # Definisi Go module\n├── go.sum           # Checksum dependensi\n├── Makefile         # Otomasi build\n├── README.md        # Dokumentasi ini\n└── build/           # Direktori output build (dibuat saat build)\n    ├── windows/\n    ├── darwin/\n    └── linux/\n```\n\n### Build Dependencies\n\n- **Go 1.21+**: Required for building\n- **Make**: For cross-platform build system\n- **Tesseract**: OCR engine (runtime dependency)\n- **CGO**: Required for Tesseract integration\n- **Cross-compilation tools**: For building Windows binaries on non-Windows systems\n\n## 🆚 Why Tesseract over PaddleOCR?\n\n- ✅ **Easier Setup**: Available in package managers\n- ✅ **Mature \u0026 Stable**: 30+ years of development\n- ✅ **Wide Language Support**: 100+ languages built-in\n- ✅ **Lower Resource Usage**: Minimal system requirements\n- ✅ **Better Documentation**: Extensive community support\n- ✅ **Open Source**: Free and always will be\n\n### Perintah Pengembangan\n\n```bash\n# Jalankan dalam mode pengembangan\ngo run main.go\n\n# Build untuk platform saat ini\ngo build -o ocr-app main.go\n\n# Jalankan test (jika ada)\ngo test ./...\n\n# Format kode\ngo fmt ./...\n\n# Periksa kode untuk masalah\ngo vet ./...\n\n# Bersihkan artifact build\nmake clean\n```\n\n## 🤝 Kontribusi\n\n1. Fork repository ini\n2. Buat branch fitur Anda (`git checkout -b feature/fitur-menakjubkan`)\n3. Commit perubahan Anda (`git commit -m 'Tambah fitur menakjubkan'`)\n4. Push ke branch (`git push origin feature/fitur-menakjubkan`)\n5. Buka Pull Request\n\n## 📄 Lisensi\n\nProyek ini adalah open source dan tersedia di bawah [MIT License](LICENSE).\n\n---\n\n## 📞 Dukungan\n\nJika Anda mengalami masalah atau memiliki pertanyaan:\n\n1. Periksa bagian [Troubleshooting](#-troubleshooting) di atas\n2. Buka issue di repository GitHub\n3. Pastikan Tesseract OCR terinstall dengan benar\n4. Periksa log aplikasi untuk detail error\n\n## 🔄 Changelog\n\n### v1.1.0\n- ✨ Tambah fitur Smart Port Selection (9000, 8000, 7000)\n- 🔧 Perbaikan penanganan port yang sudah digunakan\n- 📚 Dokumentasi lengkap dalam Bahasa Indonesia\n- 🚀 Optimasi performa dan error handling\n\n### v1.0.0\n- 🎉 Rilis awal aplikasi OCR\n- 🖼️ Dukungan upload gambar dengan drag-and-drop\n- 🌐 Antarmuka web yang responsif\n- 🔧 Konfigurasi Tesseract OCR\n\n---\n\n**Dibuat dengan ❤️ untuk komunitas OCR**\n\n*Selamat mengekstrak teks! 🚀*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezapace%2Fgo-ocr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frezapace%2Fgo-ocr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezapace%2Fgo-ocr/lists"}