Apa yang dilakukan tool ini
Ekstraktor ini menarik konten teks dari PDF. Drop file, opsional aktifkan « pertahankan baris baru », dan kamu mendapat teks mentah di kanan — dengan setiap halaman diperkenalkan oleh marker kecil (--- Halaman N ---). Teks dapat disalin ke clipboard atau di-download sebagai file UTF-8 .txt. Parsing terjadi sepenuhnya di browser kamu via pdf.js; PDF tidak pernah di-upload.
Kapan menggunakannya
- Mencari frase di seluruh laporan, kontrak, atau tesis panjang tanpa membayar suite desktop.
- Mengumpan body PDF ke summarizer, translator, atau prompt LLM yang menginginkan teks polos.
- Menarik abstract atau referensi dari paper akademik untuk paste ke citation manager.
- Mengekspor transkrip chat atau email yang tiba sebagai PDF ke format yang dapat di-grep skrip kamu.
- Memverifikasi lapisan OCR pada dokumen yang di-scan — tidak adanya teks yang dapat dikenali di sini berarti PDF hanya berupa gambar dan butuh OCR dulu.
Cara kerjanya
pdf.js mengekspos method getTextContent() pada setiap halaman yang mengembalikan run teks halaman dalam urutan kemunculannya di stream konten dokumen, beserta matrix transformasi setiap run (array enam elemen yang indeks ke-5 adalah koordinat y). Dengan toggle off, item digabungkan dengan spasi tunggal — cepat dan konsisten, tapi newline yang diekspresikan PDF asli secara visual hilang. Dengan Pertahankan baris baru diaktifkan, tool menelusuri item dan menyisipkan \n setiap kali koordinat y melompat lebih dari ~5 pixel — heuristik yang memulihkan batas paragraf dan baris dengan sangat baik pada PDF berbasis teks.
Halaman dipisahkan dengan marker harfiah --- Halaman N --- sehingga saat kamu paste hasil ke kotak pencarian atau grep itu, kamu masih dapat menemukan halaman yang kamu inginkan. Encoding adalah UTF-8, yang berarti diakritik Latin, Cyrillic, CJK, dan Arab semuanya round-trip tanpa mojibake.
Worker pdf.js dibundel sebagai aset same-origin yang dipancarkan Vite saat build. Tidak ada panggilan CDN pihak ketiga, tidak ada telemetri, dan tidak ada salinan teks kamu yang disimpan setelah tab ditutup.
Catatan
Mengapa hasilnya kosong untuk beberapa PDF? PDF datang dalam dua rasa: yang dengan lapisan teks nyata (jenis yang dihasilkan exporter seperti Word, LaTeX, dan Chrome) dan yang merupakan gambar halaman (scan, fax, beberapa laporan lama). pdf.js hanya dapat mengekstrak dari jenis pertama. Jika panel tidak mengembalikan apapun, PDF kamu hanya gambar dan kamu butuh OCR — coba tool seperti Tesseract.js atau pipeline OCR desktop sebelum mengekstrak lagi.
Mengapa kolom kadang berseling? PDF tidak menyimpan paragraf; mereka menyimpan run dari glyph pada koordinat tertentu. Layout dua-kolom mungkin terlihat baik di layar tapi memberi kami run berseling karena item muncul dalam urutan stream, bukan urutan visual. Heuristik koordinat y membantu di dokumen kolom tunggal; untuk PDF multi-kolom yang rumit, kamu mungkin perlu membersihkan output secara manual.
Apakah tabel dipertahankan? Cell terbawa sebagai teks tapi struktur kolom tidak — tidak ada konsep « cell ini sejajar dengan cell itu » dalam stream yang mendasari. Untuk data tabular, cari export CSV dari sumber jika memungkinkan.
Apakah hasilnya sama dengan « View → Select all → Copy » di pembaca PDF? Dekat, tapi tidak identik. Copy level pembaca menggunakan stack penanganan teks OS, yang kadang menambahkan spasi dan break secara berbeda. Tool ini tetap dekat dengan stream item mentah pdf.js, dengan satu heuristik newline opsional di atasnya.
Tools terkait
- PDF ke Gambar — render ke gambar dulu jika kamu butuh OCR
- Pembanding — bandingkan teks yang diekstrak dari dua PDF
- Preview Markdown — render hasil ekstraksi sebagai Markdown setelah pembersihan ringan