Apa yang dilakukan tool ini
Konverter ini me-render setiap halaman PDF sebagai gambar PNG atau JPEG, di-render di browser kamu pada resolusi yang kamu pilih. Drop PDF dan kamu mendapat grid thumbnail; pilih format dan skala, lalu download semua halaman sekaligus atau simpan yang individual. PDF di-parse oleh pdf.js di dalam tab kamu, digambar ke canvas off-screen, dan hanya canvas itu yang pernah meninggalkan dialog download. Tidak ada upload.
Kapan menggunakannya
- Mem-posting halaman PDF di forum atau platform chat yang tidak menerima lampiran PDF inline.
- Men-generate thumbnail untuk situs portfolio tanpa membangun renderer sisi server.
- Mengeluarkan figur dari paper sehingga kamu dapat paste-nya ke slide atau dokumen lain.
- Membuat preview ramah email dari PDF untuk penerima di koneksi lambat.
- Memproduksi input untuk pipeline OCR yang menginginkan gambar raster, bukan PDF vektor.
Cara kerjanya
pdf.js memuat dokumen dan mengekspos method getPage(n) per halaman. Untuk setiap halaman kami meminta viewport pada skala yang dipilih (1×, 1,5×, 2×, 2,5×, atau 3×) dan menggambarnya ke <canvas> baru yang lebar dan tingginya cocok dengan viewport dalam pixel. Canvas kemudian di-encode dengan canvas.toBlob() (image/png atau image/jpeg pada kualitas 0,92 untuk JPEG) dan di-preview sebagai thumbnail atau disimpan sebagai download.
Mengubah format murah karena canvas sudah di-render — kami hanya meng-encode ulang pixel yang sama menjadi PNG atau JPEG dan me-refresh thumbnail. Mengubah skala lebih mahal: skala yang berbeda membutuhkan resolusi canvas yang berbeda, jadi tool menjalankan ulang render halaman pdf.js di viewport baru. Batas keras 100 halaman adalah katup keamanan untuk main thread browser; di luar itu, waktu render dan penggunaan memori tumbuh tidak nyaman untuk tab.
Worker pdf.js dimuat sebagai aset same-origin (Vite memancarkannya saat build), jadi tidak ada CDN pihak ketiga yang terlibat. Setelah dimuat, tidak ada traffic jaringan lebih lanjut yang terjadi — setiap render halaman dan encode gambar adalah lokal.
Catatan
PNG atau JPEG? PNG lossless, lebih besar, dan bagus untuk halaman dengan teks atau grafis tajam. JPEG lebih kecil dan cocok untuk halaman yang banyak gambar (scan, foto, peta), tapi dapat memperkenalkan artefak kompresi yang terlihat di tepi teks. Default adalah PNG; beralih ke JPEG saat ukuran file penting.
Mengapa skala 3× terlihat sama di layar saya? Kerapatan pixel monitor kamu membatasi apa yang dapat kamu lihat saat preview, tapi file output benar-benar 3× resolusi. Thumbnail di grid di-downscale oleh browser; gambar yang kamu download adalah ukuran penuh.
Apakah PDF terenkripsi berfungsi? PDF dengan password buka standar biasanya di-render melalui pdf.js. PDF dengan enkripsi konten atau DRM mungkin gagal; panel akan menampilkan error pemuatan dan tidak ada yang di-render.
Bisakah saya me-render satu halaman tertentu saja? Grid menampilkan setiap halaman; klik ikon download kecil pada thumbnail tunggal untuk menyimpan hanya halaman itu. Tidak ada toggle terpisah « hanya render halaman X » — pada skala 1×, me-render PDF 50 halaman cukup cepat sehingga biayanya tidak berarti.
Tools terkait
- Pemisah PDF — keluarkan halaman dulu sebagai PDF yang lebih kecil
- Kompresor gambar — perkecil PNG/JPEG yang dihasilkan
- Konverter gambar — konversi PNG/JPEG ke WebP setelah render