Chuyển PDF sang Markdown: giữ cấu trúc, bỏ rác layout
Một file PDF là bản mô tả mực in nằm ở đâu trên trang giấy. Thật sự chỉ có vậy thôi. Không có "đây là tiêu đề" hay "đây là bảng" nào được nhúng sẵn trong file — chỉ là các glyph tại tọa độ, cộng với một engine render làm cho nó trông ngăn nắp trong mắt bạn. Đó là lý do copy-paste một file PDF vào ChatGPT thường ra một mớ bùi nhùi: model nhận về một chuỗi ký tự đã bị lột sạch toàn bộ hệ thống phân cấp thị giác.
Chuyển đổi PDF sang Markdown chính là dựng lại hệ thống phân cấp đó. Cỡ chữ và độ đậm
trở thành tiêu đề # và ##. Lưới ô căn thẳng hàng trở thành bảng dạng pipe.
Ký hiệu đầu dòng trở thành mục danh sách. Bạn nhận được một tài liệu mà LLM thực sự điều hướng được,
thay vì một tài liệu nó phải đoán mò. Thả file vào công cụ phía trên và bạn có kết quả sau vài giây —
miễn phí, không cần đăng ký, không lưu gì cả.
Những gì thực sự sống sót qua quá trình chuyển đổi
Nên biết trước khi chuyển, vì nó định hình những gì bạn nên kỳ vọng ở đầu ra:
- Tiêu đề — được suy ra từ cỡ chữ và độ đậm tương đối. Một bản báo cáo có thang chữ nhất quán chuyển ra rất đẹp. Một file PDF do designer dàn tay, mỗi mục một kiểu, thì lộn xộn hơn.
- Bảng — được dựng lại thành bảng pipe Markdown khi nguồn có hàng và cột căn thẳng thật sự. Đây là lý do lớn nhất để chọn Markdown thay vì text phẳng cho báo cáo tài chính, bảng thông số kỹ thuật và phụ lục dữ liệu.
- Danh sách — bullet và mục đánh số giữ nguyên cấp lồng nhau, nên quy trình và danh sách yêu cầu vẫn dễ đọc.
- Thứ tự đọc — bài báo khoa học hai cột được duỗi thành một luồng duy nhất. Thường là đúng, thỉnh thoảng bị xen kẽ nếu nguồn có sidebar trôi nổi hay đoạn trích lớn.
- Những gì không sống sót — đồ trang trí trang. Header lặp lại, footer và số trang là nhiễu trong ngữ cảnh AI, và việc lọc bỏ chúng là tính năng, không phải mất mát.
Markdown hay text thuần? Trả lời thẳng
Chọn Markdown khi hình khối của tài liệu mang ý nghĩa. Bài nghiên cứu với lập luận chia mục, hợp đồng với điều khoản đánh số, báo cáo thường niên đầy ắp bảng biểu, tài liệu kỹ thuật có code block — với tất cả những thứ này, cấu trúc chính là thông tin. Một LLM được hỏi "điều khoản 7.3 nói gì" cần biết điều khoản 7.3 là một đơn vị riêng biệt.
Chọn chuyển PDF sang văn bản thuần khi bạn chỉ cần phần chữ — nạp corpus cho classifier, chạy phân tích từ khóa, hay pipe vào thứ gì đó nghẹn khi gặp ký tự cú pháp. Dấu pipe và dấu thăng của Markdown ở đó chỉ là chi phí thừa.
Nút chuyển ở đầu trang này đổi qua lại giữa hai định dạng, và nó mang theo luôn file bạn đã chọn — nên bạn có thể chuyển mỗi chiều một lần rồi so sánh mà không cần upload lại.
PDF gốc và PDF scan: vì sao kết quả của bạn có thể trống trơn
Có hai loại PDF cùng mang một đuôi file, và chúng hành xử hoàn toàn khác nhau.
Một file PDF gốc — xuất từ Word, LaTeX, InDesign hay hộp thoại in của trình duyệt — chứa văn bản nhúng thật. Chuyển đổi về cơ bản là không mất mát, và rất nhanh. Một file PDF scan là tấm ảnh chụp giấy bọc trong vỏ PDF. Bên trong không có chữ nào để trích xuất, chỉ có pixel.
Kiểm tra nhanh: mở file PDF và thử bôi đen một câu bằng con trỏ. Nếu chữ được bôi đen, đó là file gốc và bạn sẽ có kết quả chuyển đổi sạch sẽ. Nếu thay vào đó bạn thấy một khung chọn phủ cả trang, đó là bản scan. Với bản scan, hãy chạy OCR trước — hầu hết trình đọc PDF đều có sẵn "nhận dạng văn bản" — rồi mới chuyển. Tốn thêm một phút và chất lượng đầu ra khác nhau một trời một vực.
Việc gì phải làm thế, sao không upload thẳng file PDF?
Giờ hầu hết trợ lý chat đều nhận file PDF, nên đây là câu hỏi chính đáng. Ba lý do khiến việc chuyển đổi trước vẫn thắng:
- Bạn thấy đúng cái model thấy. Khi upload PDF và nhận câu trả lời tệ, bạn không biết model suy luận kém hay bước trích xuất đã băm nát nguồn. Với Markdown bày ra trước mắt, sự mập mờ đó biến mất.
- Bạn sửa được trước khi gửi. Xóa 40 trang điều khoản pháp lý rập khuôn, giữ lại ba trang quan trọng. Rẻ hơn, nhanh hơn, và câu trả lời chính xác hơn thấy rõ.
- Nó ghép nối được. Text Markdown thả thẳng vào system prompt, pipeline RAG, tập fine-tuning hay một repo git. File PDF đính kèm thì không.
Bộ đếm token dưới phần kết quả là điểm thiết thực ở đây. Một báo cáo 60 trang có thể rơi vào khoảng 40.000 token — ổn với model context dài, vượt ngân sách với model nhỏ hơn. Biết trước khi dán vẫn hơn là phát hiện qua một thông báo lỗi.
Người ta thực sự dùng nó vào việc gì
- Tổng quan tài liệu nghiên cứu. Chuyển một chồng bài báo, nối các file Markdown lại, rồi nhờ model tìm những bất đồng về phương pháp giữa chúng. Tiêu đề mục sống sót, nên bạn truy được mọi luận điểm về đúng nơi nó xuất phát.
- Rà soát hợp đồng. Điều khoản đánh số vẫn giữ số, nghĩa là bạn hỏi được về nghĩa vụ cụ thể và nhận câu trả lời trích dẫn đúng số điều khoản thay vì diễn đạt lại.
- Tài liệu API và tài liệu nhà cung cấp. Khối SDK doanh nghiệp vẫn phát hành tài liệu tham chiếu dạng PDF. Chuyển chúng rồi ghép kết quả với repository GitHub dạng text của bạn để trợ lý lập trình nhìn thấy cả spec lẫn phần triển khai cùng lúc.
- Báo cáo tài chính. Khả năng dựng lại bảng là thứ làm nên chuyện — model so sánh được số liệu giữa các quý khi hàng và cột còn nguyên vẹn.
- Ghi chú bài giảng và giáo trình. Chuyển chương sách, xin bản tóm tắt, rồi tạo câu hỏi ôn tập từ chính nguồn đó.
Để đầu ra sạch hơn
- Nếu file PDF có "anh em" gốc chữ — phiên bản HTML của bài báo, file DOCX mà báo cáo được xuất ra từ đó — hãy chuyển bản đó thay thế. Ít bước suy đoán hơn, cấu trúc tốt hơn. Thử Word sang Markdown hoặc HTML sang Markdown.
- Chia nhỏ những file PDF khổng lồ trước khi chuyển. Cuốn sổ tay 500 trang chuyển vẫn ổn nhưng chẳng context window nào chứa nổi nguyên khối, và bạn sẽ nhận câu trả lời tốt hơn từ đúng chương bạn thực sự quan tâm.
- Bảng được vẽ dưới dạng ảnh thay vì dàn bằng chữ sẽ không dựng lại được — không gì đọc nổi chúng mà thiếu OCR. Hãy kiểm tra đầu ra nếu bảng biểu quan trọng với bạn.
- Lướt qua vài trăm dòng đầu trước khi dán. Phát hiện một cấp tiêu đề bị lệch mất mười giây và giúp bạn tránh một cuộc hội thoại rối rắm với model.
Câu hỏi thường gặp
Làm sao chuyển đổi PDF sang Markdown online?
Upload file PDF phía trên và Markdown hiện ra ngay bên dưới, sẵn sàng để copy hoặc tải về dạng .md. Miễn phí, không cần đăng ký, 50 MB mỗi file. Tiêu đề trở về dạng các cấp #, danh sách thành bullet -, và bảng thành bảng pipe, nên cấu trúc sống sót vào bất cứ thứ gì đọc nó tiếp theo.
Chuyển PDF sang Markdown có giữ được bảng không?
Có, và đây chính là lý do chính để chọn Markdown thay vì text phẳng. Bảng trở thành bảng pipe với quan hệ hàng-cột còn nguyên, nên model được hỏi "doanh thu quý 3 là bao nhiêu" vẫn biết con số nào nằm dưới tiêu đề nào. Làm phẳng chính bảng đó thành text thuần và phép ánh xạ ấy mất không lấy lại được.
Hình ảnh bên trong PDF thì sao?
Hình minh họa, biểu đồ và ảnh chụp không được mang sang Markdown — đầu ra là lớp văn bản, không phải gói tài nguyên. Nếu ý nghĩa của một trang nằm trong sơ đồ, hãy xuất riêng trang đó thành ảnh rồi chạy qua ảnh sang Markdown, công cụ đọc được chữ hiển thị bên trong bức hình.
Có thư viện Python nào làm được PDF sang Markdown không?
Có vài cái — pymupdf4llm, marker và docling là những cái phổ biến, và chúng là đáp án đúng cho lô mười nghìn file trong một pipeline. Nhưng chúng cũng đòi virtualenv, model weight và thời gian GPU. Với một tài liệu cần chuyển xong trước tin nhắn tiếp theo bạn gửi Claude hay ChatGPT, một tab trình duyệt thắng.
Đưa vào LLM thì chuyển pdf sang markdown hay sang text tốt hơn?
Markdown, khi tài liệu có cấu trúc. Model được huấn luyện trên lượng Markdown khổng lồ và đọc quy ước tiêu đề, bảng biểu của nó một cách bản năng, nên "tóm tắt mục 4" chạy được vì mục 4 được đánh dấu rành rành. Chỉ với tới văn bản thuần khi bạn muốn loại hẳn ký tự cú pháp — chủ yếu là lúc chia đoạn cho embedding.
Thứ tự trang và luồng đọc có được giữ nguyên không?
Tài liệu một cột ra đúng thứ tự đọc một cách ổn định. Bố cục học thuật hai cột thường được duỗi đúng, nhưng đoạn trích lớn, sidebar trôi nổi và khối footnote thỉnh thoảng rơi vào giữa đoạn văn vì trong tọa độ nguồn chúng nằm giữa trang. Đáng lướt qua đầu ra một lượt trước khi tin nó cho việc gì cần độ chính xác.
Phần còn lại của bộ công cụ
PDF là một trong mười ba định dạng được xử lý ở đây. File2Txt nhận tất cả nếu bạn không muốn chọn trang cụ thể, hoặc đi thẳng tới Excel sang Markdown cho bảng tính, PowerPoint sang Markdown cho slide, hoặc EPUB sang Markdown cho sách điện tử.
Làm việc với code hay web? Chuyển một repo bằng công cụ chuyển GitHub sang text, một dự án GitLab, hay một thư mục trên máy bạn. Với trang web, Web2Txt cào một URL thành Markdown. Còn có bài viết dài hơn về chuẩn bị tài liệu cho LLM nếu bạn muốn phiên bản tổng quát của lập luận này.
Repo2Txt được xây dựng và duy trì bởi v12hero, một lập trình viên độc lập chuyên làm ứng dụng native và web đặt quyền riêng tư lên hàng đầu.