Lompat ke konten
Ryan Riandi
Semua portofolio
Perkakas produktivitas2026

Konverter dokumen ke Markdown yang berjalan penuh di browser

Mengubah Word dan PDF menjadi Markdown tanpa berkasnya meninggalkan komputer pengguna, termasuk OCR untuk halaman hasil pindaian.

Konteks

Kebutuhan ini berulang tiap minggu. Saya perlu menganalisa dokumen panjang berformat Word atau PDF dengan bantuan AI, tapi menyalinnya manual merusak struktur: tabel berantakan, heading hilang, dan daftar berubah jadi paragraf.

Alat sejenis tersedia banyak di internet, dan hampir semuanya mengharuskan unggah berkas ke server pihak lain. Untuk dokumen internal atau dokumen klien, cara itu tidak bisa dipakai.

Persoalannya

Privasi diselesaikan lewat arsitektur, bukan lewat pernyataan kebijakan

Halaman kebijakan privasi yang menyatakan berkas tidak disimpan tetap menuntut kepercayaan pengguna. Di sini seluruh konversi berjalan di browser dan tidak ada backend sama sekali, sehingga secara teknis tidak ada tempat berkas bisa bocor. Hasil build-nya juga bisa diunduh dan dibuka tanpa koneksi internet.

PDF tidak menyimpan struktur, hanya teks berposisi

Berbeda dengan Word yang menyimpan heading dan daftar sebagai penanda, PDF hanya mencatat teks di koordinat tertentu dengan ukuran huruf tertentu. Strukturnya dibangun ulang secara heuristik dengan membaca ukuran huruf yang menonjol sebagai heading. Hasilnya tidak sempurna untuk tata letak kolom yang rumit, dan itu saya tulis apa adanya di dokumentasinya.

Halaman hasil pindaian tidak memuat teks

Untuk halaman yang isinya gambar, teks diambil lewat OCR yang juga berjalan di browser memakai WebAssembly, dengan pilihan bahasa. Prosesnya lebih lambat dibanding OCR di server, tapi tetap sejalan dengan prinsip utamanya.

Keputusan yang diambil

Berikut alternatif yang ditolak dan alasannya.

Dibangun tanpa backend

Alternatifnya server kecil yang mengerjakan konversi, yang hasilnya lebih cepat dan lebih rapi terutama untuk PDF. Pilihan itu ditolak karena menghapus alasan utama alat ini dibuat. Efek sampingnya, biaya hosting menjadi nol dan hasil build-nya bisa dibuka langsung dari berkas lokal.

Kebutuhan Anda mirip dengan proyek ini.

Kalau iya, pembahasannya biasanya lebih cepat karena persoalannya sudah pernah saya tangani. Kalau berbeda sama sekali juga tidak masalah, silakan ceritakan.

Saya bekerja penuh waktu di sebuah software house, jadi proyek luar saya ambil dengan lingkup dan jadwal yang disepakati di awal. Balasan biasanya masuk dalam satu hari kerja.