PDF sang Markdown Online Miễn Phí
Trích xuất text từ PDF sang Markdown qua PDF.js. Free tier chỉ extract text (không nhận diện table/math phức tạp). Phù hợp PDF text-only như bài viết, sách tiểu thuyết, báo cáo plain.
Kéo thả file vào đây hoặc
.pdf (text-based, not scans)
Lợi ích
Extract text từ tất cả trang. Mỗi trang có thể thành một section MD riêng (option).
PDF.js của Mozilla chạy hoàn toàn trong browser. File không upload đi đâu.
Chỉ extract text — không nhận diện table layout phức tạp, không OCR ảnh, không công thức toán. Cần chất lượng cao thì dùng paid tier (Datalab API).
Cách dùng
- 1Drop file .pdf vào dropzone.
- 2PDF.js parse từng trang, extract text content.
- 3Markdown thô hiện ngay — bạn có thể edit để fix layout nếu cần.
- 4Copy hoặc 'Open in ChatGPT' để feed AI.
PDF to Markdown — vì sao quan trọng cho AI users?
PDF là format phổ biến cho document chia sẻ — research paper, sách giáo khoa, báo cáo, hợp đồng. Vấn đề: PDF được thiết kế cho hiển thị, không phải data extraction. Format PDF lưu text dưới dạng glyph + position thay vì semantic structure. Khi feed PDF thẳng vào ChatGPT/Claude qua kéo file, AI vẫn đọc được nhưng kết quả không ổn định — đặc biệt với PDF nhiều cột, có table, hoặc scan ảnh.
Free tier dùng PDF.js của Mozilla — engine render PDF của Firefox, có chế độ extract text content. Output là text plain theo thứ tự reading order do PDF.js đoán. Phù hợp cho PDF text-only đơn giản: bài blog xuất PDF, báo cáo Word save as PDF, sách tiểu thuyết. Không phù hợp cho: PDF scan (image-based), bảng phức tạp, công thức toán LaTeX, footnote nhiều, multi-column research paper.
Để có chất lượng cao cho research paper / sách kỹ thuật / báo cáo có table, cần dùng Marker (engine OSS chất lượng cao) hoặc Datalab API. Chúng tôi đang plan paid tier qua Datalab API ($0.005/page) cho user cần OCR + layout-aware extraction.
- ✓Extract text từ PDF text-based (không phải scan)
- ✓Multi-page với option chia trang thành section riêng
- ✓Heading detection cơ bản (theo font size — hơi không chính xác)
- ✓List detection (bullet, numbered) cơ bản
- ✓100% client-side qua PDF.js WebAssembly
- ✓Token count cho output Markdown
Khi nào dùng free tier (PDF.js)?
PDF từ Save as PDF của blog → text-only đơn giản → free tier OK.
Document gốc text → PDF → free tier extract chất lượng tốt vì không phải scan.
PDF chuẩn (không scan), không nhiều table → free tier đủ dùng.
PDF đính kèm email → quick extract để feed AI tóm tắt.
Research paper với equation/table phức tạp, PDF scan ảnh, document multi-column khoa học → cần Marker/Datalab (paid).
Công nghệ đằng sau
PDF.js là project open-source của Mozilla, render engine PDF mặc định của Firefox. Compile từ C++ Poppler core sang WebAssembly + JavaScript wrapper. Hỗ trợ PDF spec 1.0-2.0, encryption (ngoại trừ DRM), font subsetting, image extraction.
Extract text qua API getTextContent() — trả về array of text items với position (x, y), font, font size. Chúng tôi reorder theo y descending (top-to-bottom) rồi x ascending (left-to-right) để gần với reading order. Heading được đoán dựa font size: > 1.5× average font size = heading. Đây là heuristic, không phải chuẩn — nên kết quả có thể lệch với PDF có font hỗn loạn.
Free tier không OCR. Nếu PDF là image-based scan (chụp giấy thành PDF), text không hiển thị. Lúc đó bạn cần dùng tool OCR riêng (như imgtools.phanmemtonghop.com/vi/ocr với Tesseract) hoặc paid tier với Marker (có OCR backend).
Câu hỏi về PDF → Markdown
PDF scan (ảnh) có dùng được không?
Free tier KHÔNG. Vì PDF.js chỉ extract text layer, không có text layer thì không có gì để extract. Cần OCR — dùng imgtools.phanmemtonghop.com/vi/ocr cho ảnh, hoặc đợi paid tier với Marker (có OCR built-in).
Bảng (table) có giữ được layout không?
Free tier rất hạn chế — bảng đơn giản (2-3 cột text) thì OK, bảng phức tạp (merged cell, multi-row header) bị flatten thành text dòng dòng. Paid tier với Marker/Datalab giữ được table chuẩn GFM.
Công thức toán (LaTeX) thế nào?
Free tier extract text raw không phải LaTeX. Paid tier với Marker có thể nhận diện equation và convert sang $...$ LaTeX inline.
PDF rất lớn (500+ trang)?
Browser xử lý được nhưng có thể chậm. Token count tổng giúp bạn quyết định có chia chunk không trước khi feed AI.
Khi nào sẽ có paid tier với Marker?
Đang trong roadmap — Phase 2. Giá dự kiến $5/mo unlimited hoặc $0.005/page. Liên hệ phanmemtonghop.com để được thông báo khi launch.