Dipublikasikan 21 Juni 2026
Butuh membuat PDF terlihat seperti hasil scan untuk keperluan administrasi? Alih-alih mencetak dokumen lalu scan ulang, ada cara lebih cepat menggunakan tool open source bernama make-look-scanned. Tool ini mengubah PDF digital menjadi versi yang terlihat seperti hasil scan fisik, lengkap dengan efek skew, grayscale, warm paper tone, scanner grain, dan JPEG compression artifacts. Artikel ini akan membahas cara install dan menggunakannya.
Tool ini tersedia dalam dua bentuk: CLI yang ditulis dalam Go dan versi browser yang berjalan via WebAssembly. Kamu bisa coba langsung di demo web tanpa install apa pun. Untuk penggunaan batch atau integrasi ke workflow, versi CLI lebih direkomendasikan. Source code tersedia di GitHub repository dengan lisensi open source.
Untuk versi CLI, pastikan sistem kamu memiliki:
Go versi 1.21 atau lebih baru.
C toolchain karena dependensi go-fitz memerlukan cgo untuk linking ke MuPDF.
Git untuk clone repository.
Clone repository ke lokal, lalu build binary:
git clone https://github.com/overflowy/make-look-scanned.git
cd make-look-scanned
go build -o make-look-scanned .Proses build akan menghasilkan binary self-contained yang tidak memerlukan runtime dependencies tambahan. Binary ini bisa langsung dipindahkan ke PATH untuk akses global.
Untuk konversi paling sederhana, cukup arahkan file PDF ke binary:
./make-look-scanned input.pdfOutput akan tersimpan sebagai input.scanned.pdf di direktori yang sama. Secara default, tool menggunakan preset yang menyeimbangkan kualitas dan ukuran file: 150 DPI, skew 0.6 derajat, grayscale aktif, paper tone 0.6, noise 0.08, blur 0.4, edge shadow 0.15, dan JPEG quality 70.
Jika hasil default kurang sesuai, kamu bisa menyesuaikan setiap parameter efek via flag:
./make-look-scanned input.pdf --noise 0.4 --skew 2.5 --jpeg-quality 30Berikut penjelasan parameter utama:
--dpi: Resolusi render, default 150. Naikkan untuk kualitas lebih tinggi.
--skew: Rotasi maksimal dalam derajat. Nilai lebih tinggi membuat dokumen terlihat lebih tidak rapi.
--paper-tone: Intensitas warna kertas warm, rentang 0 sampai 1.
--noise: Grain scanner, 0 untuk nonaktif.
--blur: Gaussian blur untuk efek defocus.
--edge-shadow: Vignette di tepi halaman.
--jpeg-quality: Kualitas kompresi, lebih rendah berarti artefak lebih banyak.
Untuk penggunaan berulang, definisikan preset di file konfigurasi. Lokasi default adalah ~/.config/make-look-scanned/config.toml. Berikut contoh preset medium:
[presets.medium]
skew = 1.5
paper_tone = 0.6
noise = 0.2
blur = 0.6
edge_shadow = 0.3
jpeg_quality = 45Gunakan preset dengan flag --preset:
./make-look-scanned --preset medium input.pdfPrioritas konfigurasi: built-in defaults -> selected preset -> explicit CLI flags. Artinya flag manual akan selalu menimpa preset.
Tool ini bisa diintegrasikan ke berbagai workflow:
Pre-commit hook: Otomatis konversi dokumen sebelum commit ke repo.
CI/CD pipeline: Generate scanned version dari invoice atau report otomatis.
Script batch: Proses ratusan file sekaligus dengan loop shell.
Karena output deterministic berdasarkan content hash, file yang sama akan selalu menghasilkan scan yang identik. Gunakan flag --seed untuk variasi yang berbeda namun tetap reproducible.
make-look-scanned adalah contoh bagaimana vibe coding dan tool CLI modern bisa menghemat waktu tugas administratif yang sepele namun sering mengganggu. Dengan setup singkat, kamu bisa mengubah PDF digital menjadi versi scan yang realistis tanpa perlu printer atau scanner fisik. Kombinasi antara parameter yang fleksibel, determinisme, dan dukungan preset membuat tool ini sangat praktis untuk penggunaan harian maupun otomasi skala besar.
Sebelum make-look-scanned, banyak developer menggunakan ImageMagick atau Photoshop untuk efek serupa. Namun, kedua solusi tersebut memerlukan setup yang lebih rumit dan tidak deterministic. make-look-scanned unggul karena:
Self-contained binary: Tidak perlu install runtime seperti Python atau Node.js.
Deterministic output: File yang sama selalu menghasilkan scan identik, berguna untuk testing dan CI.
WebAssembly support: Bisa berjalan di browser tanpa backend server.
Setiap dokumen memerlukan parameter berbeda tergantung tujuannya:
Dokumen formal: Gunakan skew rendah (0.3-0.6), paper tone 0.4, dan JPEG quality 75. Hasil terlihat rapi tapi tetap realistis.
Dokumen lama: Naikkan noise ke 0.3 dan blur ke 0.8. Efek ini meniru kertas yang sudah berumur.
Ukuran file kecil: Turunkan DPI ke 100 dan JPEG quality ke 40. Cocok untuk upload ke portal dengan batasan ukuran file.
Tool ini banyak digunakan untuk keperluan berikut:
Dokumen administrasi: Beberapa instansi masih mensyaratkan file dalam bentuk scan, padahal aslinya digital.
Arsip digital: Menyimpan dokumen dengan tampilan konsisten yang menyerupai fisik.
Testing OCR: Developer bisa generate dataset synthetic dengan berbagai level degradasi untuk melatih model OCR.
make-look-scanned bekerja dengan meraster setiap halaman PDF menjadi gambar menggunakan MuPDF via go-fitz, lalu menerapkan pipeline efek berurutan. Pertama, halaman dirotasi secara acak dalam rentang skew. Kedua, konversi ke grayscale ditambah warm tint untuk meniru kertas. Ketiga, noise dan blur diterapkan untuk mensimulasikan imperfeksi scanner. Keempat, edge shadow menambahkan vignette di tepi. Terakhir, kompresi JPEG memberikan artefak blok yang khas pada scan murah.
Dengan make-look-scanned, tugas yang biasanya memakan waktu dan peralatan fisik bisa diselesaikan dalam hitungan detik di terminal. Tool ini membuktikan bahwa open source utility yang fokus pada satu masalah spesifik bisa memberikan pengalaman pengguna yang lebih baik daripada solusi all-in-one yang bloated. Jika kamu sering berurusan dengan dokumen digital yang perlu diubah ke format scan, tool ini layak masuk ke toolkit harianmu.
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu