RepoTrending
Về bảng xếp hạng
GitHubRAG / Truy hồiJava

opendataloader-project/opendataloader-pdf

Trình phân tích cú pháp PDF cho dữ liệu sẵn sàng cho AI. Tự động hóa khả năng truy cập PDF. Nguồn mở.

29k sao2.7k fork

README

OpenDataLoader PDF

Trình phân tích cú pháp PDF cho dữ liệu sẵn sàng cho AI. Tự động hóa khả năng truy cập PDF. Nguồn mở.

License PyPI version npm version Maven Central Java

opendataloader-project%2Fopendataloader-pdf | Trendshift

🔍 Trình phân tích cú pháp PDF để trích xuất dữ liệu AI — Trích xuất Markdown, JSON (có hộp giới hạn) và HTML từ bất kỳ tệp PDF nào. #1 về điểm chuẩn (tổng cộng là 0,907). Chế độ cục bộ xác định + Chế độ kết hợp AI cho các trang phức tạp.

  • Độ chính xác của nó là bao nhiêu? — #1 về điểm chuẩn: 0,907 tổng thể, độ chính xác bảng 0,928 trên 200 tệp PDF trong thế giới thực bao gồm các bài báo khoa học và nhiều cột. Chế độ cục bộ xác định + Chế độ kết hợp AI cho các trang phức tạp (điểm chuẩn)
  • Quét PDF và OCR? – Vâng. OCR tích hợp (hơn 80 ngôn ngữ) ở chế độ kết hợp. Hoạt động với các bản quét chất lượng kém ở 300 dpi+ (chế độ lai)
  • Bảng, công thức, hình ảnh, biểu đồ? – Vâng. Các bảng phức tạp/không viền, công thức LaTeX và mô tả biểu đồ/hình ảnh do AI tạo ra đều thông qua chế độ kết hợp (chế độ lai)
  • Làm cách nào để sử dụng cái này cho RAG?pip install opendataloader-pdf, chuyển đổi thành 3 dòng. Đầu ra có cấu trúc Markdown để phân đoạn, JSON với các hộp giới hạn cho các trích dẫn nguồn và HTML. Tích hợp LangChain có sẵn. Python, Node.js, SDK Java (bắt đầu nhanh | LangChain)

Tự động hóa khả năng truy cập PDF — Tự động gắn thẻ các tệp PDF không được gắn thẻ vào các tệp PDF được gắn thẻ sẵn sàng cho trình đọc màn hình trên quy mô lớn. Công cụ nguồn mở đầu tiên để tạo các tệp PDF được gắn thẻ từ đầu đến cuối.

  • Vấn đề là gì? — Các quy định về khả năng tiếp cận hiện được thực thi trên toàn thế giới. Việc khắc phục PDF thủ công có giá từ 50–200 USD cho mỗi tài liệu và không mở rộng quy mô (quy định)
  • Cái gì miễn phí? — Phân tích bố cục + tự động gắn thẻ (Apache 2.0). PDF không được gắn thẻ vào → PDF được gắn thẻ ra. Không có sự phụ thuộc SDK độc quyền (tự động gắn thẻ)
  • Còn việc tuân thủ PDF/UA thì sao? — Chuyển đổi PDF được gắn thẻ sang PDF/UA-1 hoặc PDF/UA-2 là một tiện ích bổ sung dành cho doanh nghiệp. Tính năng tự động gắn thẻ sẽ tạo ra PDF được gắn thẻ; Xuất PDF/UA là bước cuối cùng (đường ống)
  • Tại sao lại tin tưởng điều này? - Được xây dựng với sự cộng tác của Phòng thí nghiệm kép (veraPDF nhà phát triển) dựa trên Hiệp hội PDF thông số kỹ thuật, hướng dẫn thực hành tốt nhất và kiến thức chuyên môn của Cộng đồng PDF. Tự động gắn thẻ tuân theo Đặc tả PDF được gắn thẻ tốt, được xác thực bằng veraPDF (sự hợp tác)

Bắt đầu sau 30 giây

Yêu cầu: Java 11+ và Python 3.10+ (Node.js | Java cũng có sẵn)

Trước khi bạn bắt đầu: chạy java -version. Nếu không tìm thấy, hãy cài đặt JDK 11+ từ nhận nuôi.

pip install -U opendataloader-pdf
import opendataloader_pdf

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)

OpenDataLoader PDF layout analysis — headings, tables, images detected with bounding boxes

Đầu ra PDF có chú thích - mỗi thành phần (tiêu đề, đoạn văn, bảng, hình ảnh) được phát hiện với các hộp giới hạn và loại ngữ nghĩa.

Điều này giải quyết được vấn đề gì?

vấn đề Giải pháp Trạng thái
Cấu trúc PDF bị mất trong quá trình phân tích cú pháp — thứ tự đọc sai, bảng bị hỏng, không có tọa độ phần tử PDF cục bộ xác định sang Markdown/JSON với các hộp giới hạn, thứ tự đọc XY-Cut++ Đã vận chuyển
Bảng phức tạp, tệp PDF được quét, công thức, biểu đồ cần sự hiểu biết ở cấp độ AI Chế độ kết hợp định tuyến các trang phức tạp đến phần phụ trợ AI (#1 về điểm chuẩn) Đã vận chuyển
Chi phí khắc phục PDF thủ công — Các quy định về khả năng truy cập (EAA, ADA, Mục 508) yêu cầu các tệp PDF được gắn thẻ. Chi phí khắc phục thủ công là $50–200/tài liệu Tự động gắn thẻ các tệp PDF không được gắn thẻ vào các tệp PDF được gắn thẻ (miễn phí, Apache 2.0). Nền tảng cho quy trình làm việc PDF/UA; Xuất PDF/UA-1/2 đầy đủ là một tiện ích bổ sung dành cho doanh nghiệp Tự động gắn thẻ: Đã vận chuyển. Xuất PDF/UA: Doanh nghiệp

Ma trận năng lực

Khả năng Được hỗ trợ cấp
Trích xuất dữ liệu
Trích xuất văn bản với thứ tự đọc đúng miễn phí
Hộp giới hạn cho mọi phần tử miễn phí
Trích xuất bảng (viền đơn giản) miễn phí
Trích xuất bảng (phức tạp/không biên giới) Miễn phí (Kết hợp)
Phát hiện phân cấp tiêu đề miễn phí
Phát hiện danh sách (đánh số, dấu đầu dòng, lồng nhau) miễn phí
Trích xuất hình ảnh với tọa độ miễn phí
Biểu đồ AI/mô tả hình ảnh Miễn phí (Kết hợp)
OCR cho các tệp PDF được quét Miễn phí (Kết hợp)
Trích xuất công thức (LaTeX) Miễn phí (Kết hợp)
Được gắn thẻ trích xuất cấu trúc PDF miễn phí
An toàn AI (lọc tiêm nhắc nhở) miễn phí
Lọc đầu trang/chân trang/hình mờ miễn phí
Khả năng tiếp cận
Tự động gắn thẻ → PDF được gắn thẻ cho các tệp PDF không được gắn thẻ Miễn phí (Apache 2.0)
Xuất PDF/UA-1, PDF/UA-2 💼 Có sẵn Doanh nghiệp
Studio trợ năng (trình chỉnh sửa trực quan) 💼 Có sẵn Doanh nghiệp
Hạn chế
Xử lý Word/Excel/PPT Không
yêu cầu GPU Không

Điểm chuẩn khai thác

opendataloader-pdf [hybrid] xếp hạng tổng thể số 1 (0,907) về độ chính xác của thứ tự đọc, bảng và trích xuất tiêu đề.

Động cơ Nhìn chung Thứ tự đọc Bảng tiêu đề Tốc độ (giây/trang) Giấy phép
trình tải dữ liệu mở [lai] 0.907 0.934 0.928 0.821 0.463 Apache-2.0
chất dinh dưỡng 0.885 0.925 0.708 0.819 0.008 thương mại
ghi chép 0.882 0.898 0.887 0.824 0.762 MIT
điểm đánh dấu 0.861 0.890 0.808 0.796 53.932 GPL-3.0
không có cấu trúc [hi_res] 0.841 0.904 0.588 0.749 3.008 Apache-2.0
phân tích cú pháp 0.837 0.894 0.717 0.706 0.036 Apache-2.0
trình tải dữ liệu mở 0.831 0.902 0.489 0.739 0.015 Apache-2.0
minuru 0.831 0.857 0.873 0.743 5.962 AGPL-3.0
pymupdf4llm 0.732 0.885 0.401 0.412 0.091 AGPL-3.0
không có cấu trúc 0.686 0.882 0.000 0.388 0.077 Apache-2.0
giảm giá 0.589 0.844 0.273 0.000 0.114 MIT
phân tích cú pháp 0.576 0.866 0.000 0.000 1.061 Apache-2.0

Điểm được chuẩn hóa thành [0, 1]. Cao hơn là tốt hơn cho độ chính xác; thấp hơn là tốt hơn cho tốc độ. Đậm = tốt nhất. Chi tiết điểm chuẩn đầy đủ

Benchmark

Quality Breakdown

Tôi nên sử dụng chế độ nào?

Tài liệu của bạn Chế độ cài đặt Lệnh máy chủ Lệnh khách hàng
PDF kỹ thuật số tiêu chuẩn Nhanh (mặc định) pip install opendataloader-pdf Không cần thiết opendataloader-pdf file1.pdf file2.pdf folder/
Các bảng phức tạp hoặc lồng nhau lai pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --port 5002 opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/
PDF được quét / dựa trên hình ảnh Lai + OCR pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --port 5002 --force-ocr opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/
Bản PDF được quét không phải tiếng Anh Lai + OCR pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --port 5002 --force-ocr --ocr-lang "ko,en" opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/
công thức toán học Công thức lai + pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --enrich-formula opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/
Biểu đồ cần mô tả Lai + hình ảnh pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --enrich-picture-description opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/
Các tệp PDF không được gắn thẻ cần có khả năng truy cập Tự động gắn thẻ → PDF được gắn thẻ pip install opendataloader-pdf Không cần thiết opendataloader-pdf --format tagged-pdf file1.pdf file2.pdf folder/

Bắt đầu nhanh

Python

pip install -U opendataloader-pdf
import opendataloader_pdf

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)

Node.js

npm install @opendataloader/pdf
import { convert } from '@opendataloader/pdf';

await convert(['file1.pdf', 'file2.pdf', 'folder/'], {
  outputDir: 'output/',
  format: 'markdown,json'
});

Java

<dependency>
  <groupId>org.opendataloader</groupId>
  <artifactId>opendataloader-pdf-core</artifactId>
</dependency>

Python Bắt đầu nhanh | Node.js Bắt đầu nhanh | Bắt đầu nhanh Java

Chế độ kết hợp: Độ chính xác số 1 cho các tệp PDF phức tạp

Chế độ kết hợp kết hợp xử lý Java cục bộ nhanh với chương trình phụ trợ AI. Các trang đơn giản vẫn ở trạng thái cục bộ (0,02 giây); các trang phức tạp định tuyến tới AI để có độ chính xác bảng +90%.

Đừng kết hợp với --use-struct-tree trên các tệp PDF được gắn thẻ. --use-struct-tree được ưu tiên, vì vậy phần phụ trợ kết hợp là không được gọi (một cảnh báo được ghi lại). Nếu bạn muốn phần phụ trợ lai, hãy thả --use-struct-tree.

pip install -U "opendataloader-pdf[hybrid]"

Nhà ga số 1 – Khởi động máy chủ phụ trợ:

opendataloader-pdf-hybrid --port 5002

Nhà ga số 2 - Xử lý tệp PDF:

# Batch all files in one call — each invocation spawns a JVM process, so repeated calls are slow
opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/

Python:

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    hybrid="docling-fast"
)

OCR cho các tệp PDF được quét

Bắt đầu phụ trợ với --force-ocr đối với các tệp PDF dựa trên hình ảnh không có văn bản có thể chọn:

opendataloader-pdf-hybrid --port 5002 --force-ocr

Đối với các tài liệu không phải tiếng Anh, hãy chỉ định ngôn ngữ:

opendataloader-pdf-hybrid --port 5002 --force-ocr --ocr-lang "ko,en"

Ngôn ngữ được hỗ trợ: en, ko, ja, ch_sim, ch_tra, de, fr, ar, và hơn thế nữa

Trích xuất công thức (LaTeX)

Trích xuất các công thức toán học dưới dạng LaTeX từ các tệp PDF khoa học:

# Server: enable formula enrichment
opendataloader-pdf-hybrid --enrich-formula

# Batch all files in one call — each invocation spawns a JVM process, so repeated calls are slow
opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/

Đầu ra trong JSON:

{
  "type": "formula",
  "page number": 1,
  "bounding box": [226.2, 144.7, 377.1, 168.7],
  "content": "\\frac{f(x+h) - f(x)}{h}"
}

Lưu ý: Yêu cầu làm phong phú thêm công thức và mô tả hình ảnh --hybrid-mode full về phía khách hàng.

Biểu đồ & Hình ảnh Mô tả

Tạo mô tả AI cho biểu đồ và hình ảnh — hữu ích cho văn bản thay thế trợ năng và tìm kiếm RAG:

# Server
opendataloader-pdf-hybrid --enrich-picture-description

# Batch all files in one call — each invocation spawns a JVM process, so repeated calls are slow
opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/

Đầu ra trong JSON:

{
  "type": "picture",
  "page number": 1,
  "bounding box": [72.0, 400.0, 540.0, 650.0],
  "description": "A bar chart showing waste generation by region from 2016 to 2030..."
}

Sử dụng SmolVLM (256M), một mẫu thị giác nhẹ. Lời nhắc tùy chỉnh được hỗ trợ qua --picture-description-prompt.

Tích hợp trình tải dữ liệu Hancom - Sắp ra mắt

Phân tích tài liệu AI cấp doanh nghiệp thông qua Trình tải dữ liệu Hancom — các mô hình do khách hàng tùy chỉnh được đào tạo trên các tài liệu dành riêng cho miền của bạn. Hơn 30 loại phần tử (bảng, biểu đồ, công thức, chú thích, chú thích cuối trang, v.v.), hiểu hình ảnh/biểu đồ dựa trên VLM, trích xuất bảng phức tạp (các ô đã hợp nhất, bảng lồng nhau), OCR được hỗ trợ SLA cho các tài liệu được quét và hỗ trợ HWP/HWPX gốc. Hỗ trợ PDF, DOCX, XLSX, PPTX, HWP, PNG, JPG. Bản trình diễn trực tiếp

Hướng dẫn chế độ kết hợp

Định dạng đầu ra

định dạng Trường hợp sử dụng
JSON Dữ liệu có cấu trúc với các hộp giới hạn, các kiểu ngữ nghĩa
Giảm giá Làm sạch văn bản cho ngữ cảnh LLM, khối RAG
HTML Hiển thị web với kiểu dáng
PDF có chú thích Gỡ lỗi trực quan - xem các cấu trúc được phát hiện (mẫu vật)
văn bản Trích xuất văn bản thuần túy

Kết hợp các định dạng: format="json,markdown"

Ví dụ đầu ra JSON

{
  "type": "heading",
  "id": 42,
  "level": "Title",
  "page number": 1,
  "bounding box": [72.0, 700.0, 540.0, 730.0],
  "heading level": 1,
  "font": "Helvetica-Bold",
  "font size": 24.0,
  "text color": "[0.0]",
  "content": "Introduction"
}
trường Mô tả
type Loại phần tử: tiêu đề, đoạn văn, bảng, danh sách, hình ảnh, chú thích, công thức
id Mã định danh duy nhất để tham khảo chéo
page number Tham khảo trang 1 chỉ mục
bounding box [left, bottom, right, top] bằng điểm PDF (72pt = 1 inch)
heading level Độ sâu tiêu đề (1+)
content Văn bản được trích xuất

Lược đồ JSON đầy đủ

Tính năng nâng cao

Được gắn thẻ Hỗ trợ PDF

Khi một tệp PDF có các thẻ cấu trúc, OpenDataLoader sẽ trích xuất bố cục chính xác tác giả dự định - không đoán, không phỏng đoán. Các tiêu đề, danh sách, bảng và thứ tự đọc được giữ nguyên từ nguồn.

Chất lượng đầu ra phụ thuộc vào chất lượng thẻ. Không phải tất cả các tệp PDF được gắn thẻ đều được gắn thẻ tốt. Đối với các tệp PDF có thẻ thưa thớt hoặc không chính xác, chế độ phỏng đoán mặc định hoặc --hybrid docling-fast thường mang lại kết quả tốt hơn.

--use-struct-tree được ưu tiên hơn --hybrid. Nếu cả hai được đặt trên một tệp PDF được gắn thẻ thì cây cấu trúc sẽ được sử dụng và phần phụ trợ kết hợp sẽ được sử dụng không được gọi (một tệp PDF được gắn thẻ tốt đã có thứ tự và cấu trúc đọc). Thả --use-struct-tree thay vào đó nếu bạn muốn phần phụ trợ kết hợp.

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    use_struct_tree=True           # Use native PDF structure tags
)

Hầu hết các trình phân tích cú pháp PDF hoàn toàn bỏ qua các thẻ cấu trúc. Tìm hiểu thêm

An toàn AI: Bảo vệ tiêm nhắc nhở

Các tệp PDF có thể chứa các cuộc tấn công tiêm nhắc nhanh chóng ẩn. OpenDataLoader tự động lọc:

  • Văn bản ẩn (phông chữ trong suốt, kích thước bằng 0)
  • Nội dung ngoài trang
  • Các lớp vô hình đáng ngờ

Để vệ sinh dữ liệu nhạy cảm (email, URL, số điện thoại → phần giữ chỗ), hãy bật dữ liệu đó một cách rõ ràng:

# Batch all files in one call — each invocation spawns a JVM process, so repeated calls are slow
opendataloader-pdf file1.pdf file2.pdf folder/ --sanitize

Hướng dẫn an toàn AI

Tích hợp LangChain

pip install -U langchain-opendataloader-pdf
from langchain_opendataloader_pdf import OpenDataLoaderPDFLoader

loader = OpenDataLoaderPDFLoader(
    file_path=["file1.pdf", "file2.pdf", "folder/"],
    format="text"
)
documents = loader.load()

LangChain Tài liệu | GitHub | PyPI

Tùy chọn nâng cao

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="json,markdown,pdf",
    image_output="embedded",        # "off", "embedded" (Base64), or "external" (default)
    image_format="jpeg",            # "png" or "jpeg"
    use_struct_tree=True,           # Use native PDF structure
)

Tham khảo tùy chọn CLI đầy đủ

Khả năng truy cập PDF & Chuyển đổi PDF/UA

vấn đề: Hàng triệu tệp PDF hiện có thiếu thẻ cấu trúc, không tuân thủ các quy định về khả năng truy cập (EAA, ADA/Mục 508, Đạo luật bao gồm kỹ thuật số Hàn Quốc). Chi phí khắc phục thủ công là 50–200 USD cho mỗi tài liệu và không mở rộng quy mô.

Cách tiếp cận của OpenDataLoader: Được xây dựng với sự cộng tác của Hiệp hội PDFPhòng thí nghiệm kép (nhà phát triển của veraPDF, trình xác thực PDF/A và PDF/UA mã nguồn mở tham khảo trong ngành). Tự động gắn thẻ tuân theo Đặc tả PDF được gắn thẻ tốt và được xác thực theo chương trình bằng veraPDF — kiểm tra sự tuân thủ tự động theo các tiêu chuẩn trợ năng PDF chứ không phải xem xét thủ công. Hiện tại, không có công cụ nguồn mở nào tạo các tệp PDF được gắn thẻ từ đầu đến cuối — hầu hết đều dựa vào SDK độc quyền cho bước viết thẻ. OpenDataLoader thực hiện tất cả trong Apache 2.0. (chi tiết hợp tác)

quy định thời hạn Yêu cầu
Đạo luật Tiếp cận Châu Âu (EAA) Ngày 28 tháng 6 năm 2025 Các sản phẩm kỹ thuật số có thể truy cập trên khắp EU
ADA & Mục 508 Có hiệu lực Các cơ quan liên bang và chỗ ở công cộng của Hoa Kỳ
Đạo luật hòa nhập kỹ thuật số Có hiệu lực Khả năng tiếp cận dịch vụ kỹ thuật số của Hàn Quốc

Tiêu chuẩn & Xác nhận

Khía cạnh Chi tiết
Đặc điểm kỹ thuật PDF được gắn thẻ tốt bởi Hiệp hội PDF
Xác thực veraPDF — trình xác thực PDF/A & PDF/UA mã nguồn mở tham khảo trong ngành
Cộng tác Hiệp hội PDF + Phòng thí nghiệm kép (nhà phát triển veraPDF) cùng phát triển tính năng gắn thẻ và xác thực
Giấy phép Tự động gắn thẻ → PDF được gắn thẻ: Apache 2.0 (miễn phí). Xuất PDF/UA: Doanh nghiệp

Quy trình tiếp cận

Bước tính năng Trạng thái cấp
1. Kiểm toán Đọc các thẻ PDF hiện có, phát hiện các tệp PDF không được gắn thẻ Đã vận chuyển miễn phí
2. Tự động gắn thẻ → PDF được gắn thẻ Tạo thẻ cấu trúc cho các tệp PDF không được gắn thẻ Đã vận chuyển Miễn phí (Apache 2.0)
3. Xuất PDF/UA Chuyển đổi sang các tệp tương thích PDF/UA-1 hoặc PDF/UA-2 💼 Có sẵn Doanh nghiệp
4. Chỉnh sửa trực quan Studio trợ năng - xem xét và sửa thẻ 💼 Có sẵn Doanh nghiệp

💼 Tính năng dành cho doanh nghiệp có sẵn theo yêu cầu. Liên hệ với chúng tôi để bắt đầu.

Tự động gắn thẻ

Tạo các tệp PDF được gắn thẻ từ các tệp PDF không được gắn thẻ - đầu ra là tệp PDF sẵn sàng cho trình đọc màn hình với các thẻ cấu trúc (tiêu đề, đoạn văn, danh sách, bảng, thứ tự đọc).

import opendataloader_pdf

# Untagged PDF in → Tagged PDF out
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="tagged-pdf"
)
# CLI
opendataloader-pdf --format tagged-pdf file1.pdf file2.pdf folder/

Kết hợp với các định dạng khác: format="json,tagged-pdf".

Quy trình làm việc tuân thủ từ đầu đến cuối

Existing PDFs (untagged)
    │
    ▼
┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐    ┌──────────────────┐
│  1. Audit       │───>│  2. Auto-Tag     │───>│  3. Export      │───>│  4. Studio       │
│  (check tags)   │    │  (→ Tagged PDF)  │    │  (PDF/UA)       │    │  (visual editor) │
└─────────────────┘    └──────────────────┘    └─────────────────┘    └──────────────────┘
        │                       │                       │                      │
        ▼                       ▼                       ▼                      ▼
  use_struct_tree      format="tagged-pdf"        PDF/UA export       Accessibility Studio
  (Available now)      (Available, Apache 2.0)    (Enterprise)        (Enterprise)

Hướng dẫn trợ năng PDF

Lộ trình

tính năng Dòng thời gian cấp
Trình tải dữ liệu Hancom — Phân tích tài liệu AI doanh nghiệp, mô hình tùy chỉnh của khách hàng, hiểu biểu đồ/hình ảnh dựa trên VLM, OCR cấp sản xuất Q2-Q3 2026 Đã lên kế hoạch
Xác thực cấu trúc - Xác minh cây thẻ PDF Quý 3 năm 2026 Đã lên kế hoạch

Lộ trình đầy đủ

Câu hỏi thường gặp

Trình phân tích cú pháp PDF tốt nhất cho RAG là gì?

Đối với quy trình RAG, bạn cần một trình phân tích cú pháp có khả năng bảo toàn cấu trúc tài liệu, duy trì thứ tự đọc chính xác và cung cấp tọa độ phần tử cho các trích dẫn. OpenDataLoader được thiết kế đặc biệt cho mục đích này — nó xuất ra JSON có cấu trúc với các hộp giới hạn, xử lý bố cục nhiều cột bằng XY-Cut++ và chạy cục bộ mà không cần GPU. Ở chế độ kết hợp, nó đứng số 1 về tổng thể (0,907) trong điểm chuẩn.

Trình phân tích cú pháp PDF nguồn mở tốt nhất là gì?

OpenDataLoader PDF là trình phân tích cú pháp nguồn mở duy nhất kết hợp: trích xuất xác định dựa trên quy tắc (không có GPU), hộp giới hạn cho mọi phần tử, thứ tự đọc XY-Cut++, bộ lọc an toàn AI tích hợp, hỗ trợ PDF được gắn thẻ gốc và chế độ AI lai cho các tài liệu phức tạp. Nó xếp hạng số 1 về độ chính xác tổng thể (0,907) khi chạy cục bộ trên CPU.

Làm cách nào để trích xuất bảng từ PDF cho LLM?

OpenDataLoader phát hiện các bảng bằng cách sử dụng phân tích đường viền và phân cụm văn bản, bảo toàn cấu trúc hàng/cột. Đối với các bảng phức tạp, hãy bật chế độ kết hợp để cải thiện độ chính xác +90% (điểm 0,489 đến 0,928 TEDS):

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="json",
    hybrid="docling-fast"           # For complex tables
)

Nó so sánh với docling, marker hoặc pymupdf4llm như thế nào?

OpenDataLoader [hybrid] xếp hạng tổng thể số 1 (0,907) về độ chính xác của thứ tự đọc, bảng và tiêu đề. Điểm khác biệt chính: docling (0,882) mạnh nhưng thiếu hộp giới hạn và bộ lọc an toàn AI. điểm đánh dấu (0,861) yêu cầu GPU và chậm hơn 1000 lần (53,932 giây/trang). pymupdf4llm (0,732) nhanh nhưng có độ chính xác của bảng (0,401) và tiêu đề (0,412) kém. OpenDataLoader là trình phân tích cú pháp duy nhất kết hợp trích xuất cục bộ xác định, các hộp giới hạn cho mọi phần tử và tính năng bảo vệ nhắc nhở tích hợp sẵn. Xem điểm chuẩn đầy đủ.

Tôi có thể sử dụng tính năng này mà không gửi dữ liệu lên đám mây không?

Đúng. OpenDataLoader chạy cục bộ 100%. Không có lệnh gọi API, không truyền dữ liệu — tài liệu của bạn không bao giờ rời khỏi môi trường của bạn. Phần phụ trợ của chế độ kết hợp cũng chạy cục bộ trên máy của bạn. Lý tưởng cho các tài liệu pháp lý, y tế và tài chính.

Nó có hỗ trợ OCR cho các tệp PDF được quét không?

Có, thông qua chế độ kết hợp. Cài đặt với pip install "opendataloader-pdf[hybrid]", bắt đầu phần phụ trợ với --force-ocr, sau đó xử lý như bình thường. Hỗ trợ nhiều ngôn ngữ bao gồm tiếng Hàn, tiếng Nhật, tiếng Trung, tiếng Ả Rập và nhiều ngôn ngữ khác thông qua --ocr-lang.

Nó có hoạt động với các tài liệu tiếng Hàn, tiếng Nhật hoặc tiếng Trung không?

Đúng. Đối với các tệp PDF kỹ thuật số, việc trích xuất văn bản hoạt động tốt. Đối với các tệp PDF được quét, hãy sử dụng chế độ kết hợp với --force-ocr --ocr-lang "ko,en" (hoặc ja, ch_sim, ch_tra). Sắp có: Trình tải dữ liệu Hancom tích hợp - phân tích tài liệu AI cấp doanh nghiệp với OCR cấp sản xuất tích hợp sẵn và các mô hình do khách hàng tùy chỉnh được tối ưu hóa cho các loại tài liệu và quy trình công việc cụ thể của bạn.

Nó nhanh đến mức nào?

Chế độ cục bộ xử lý hơn 60 trang mỗi giây trên CPU (0,02 giây/trang). Chế độ kết hợp xử lý hơn 2 trang mỗi giây (0,46 giây/trang) với độ chính xác cao hơn đáng kể đối với các tài liệu phức tạp. Không cần GPU. Điểm chuẩn trên Apple M4. Chi tiết điểm chuẩn đầy đủ. Với xử lý hàng loạt nhiều quy trình, thông lượng vượt quá 100 trang mỗi giây trên các máy có 8 lõi trở lên.

Nó có xử lý bố cục nhiều cột không?

Đúng. OpenDataLoader sử dụng phân tích thứ tự đọc XY-Cut++ để sắp xếp văn bản một cách chính xác trên các trang nhiều cột, thanh bên và bố cục hỗn hợp. Điều này hoạt động ở cả chế độ cục bộ và kết hợp mà không cần bất kỳ cấu hình nào.

Chế độ kết hợp là gì?

Chế độ kết hợp kết hợp xử lý Java cục bộ nhanh với chương trình phụ trợ AI. Các trang đơn giản được xử lý cục bộ (0,02 giây/trang); các trang phức tạp (bảng, nội dung được quét, công thức, biểu đồ) được tự động chuyển đến phần phụ trợ AI để có độ chính xác cao hơn. Phần phụ trợ chạy cục bộ trên máy của bạn - không cần đám mây. Xem Tôi nên sử dụng chế độ nào?Hướng dẫn chế độ kết hợp.

Nó có hoạt động với LangChain không?

Đúng. Cài đặt langchain-opendataloader-pdf để tích hợp trình tải tài liệu LangChain chính thức. Xem LangChain tài liệu.

Làm cách nào để tách các tệp PDF cho RAG?

OpenDataLoader xuất ra Markdown có cấu trúc với các tiêu đề, bảng và danh sách được giữ nguyên — đầu vào lý tưởng cho việc phân chia ngữ nghĩa. Mỗi phần tử trong đầu ra JSON bao gồm type, heading levelpage number, do đó bạn có thể chia theo phần hoặc ranh giới trang. Đối với hầu hết các đường dẫn RAG: phân tích cú pháp bằng format="markdown" cho các đoạn văn bản, hoặc format="json" khi bạn cần kiểm soát cấp độ phần tử. Ghép nối với LangChain RecursiveCharacterTextSplitter hoặc bộ chia dựa trên tiêu đề của riêng bạn để có kết quả tốt nhất.

Làm cách nào để trích dẫn nguồn PDF trong câu trả lời RAG?

Mọi phần tử trong đầu ra JSON đều bao gồm một bounding box ([left, bottom, right, top] trong các điểm PDF) và page number. Khi đường dẫn RAG của bạn trả về câu trả lời, hãy ánh xạ đoạn nguồn trở lại hộp giới hạn của nó để đánh dấu vị trí chính xác trong tệp PDF gốc. Điều này cho phép trải nghiệm người dùng "nhấp vào nguồn" - người dùng xem đoạn, bảng hoặc hình nào chứa câu trả lời. Theo mặc định, không có trình phân tích cú pháp nguồn mở nào khác cung cấp các hộp giới hạn cho mọi phần tử.

Làm cách nào để chuyển đổi PDF sang Markdown cho LLM?

import opendataloader_pdf

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown"
)

OpenDataLoader duy trì hệ thống phân cấp tiêu đề, cấu trúc bảng và thứ tự đọc trong đầu ra Markdown. Đối với các tài liệu phức tạp có bảng không viền hoặc các trang được quét, hãy sử dụng chế độ kết hợp (hybrid="docling-fast") cho độ chính xác cao hơn. Đầu ra đủ sạch để cấp trực tiếp vào cửa sổ ngữ cảnh LLM hoặc đường dẫn phân đoạn RAG.

Có công cụ khắc phục khả năng truy cập PDF tự động không?

Đúng. OpenDataLoader là công cụ nguồn mở đầu tiên tự động hóa khả năng truy cập PDF từ đầu đến cuối. Được xây dựng với sự cộng tác của Hiệp hội PDFPhòng thí nghiệm kép (nhà phát triển veraPDF), tính năng tự động gắn thẻ tuân theo đặc tả PDF được gắn thẻ tốt và được xác thực theo chương trình bằng veraPDF. Công cụ phân tích bố cục phát hiện cấu trúc tài liệu (tiêu đề, bảng, danh sách, thứ tự đọc) và tự động tạo thẻ trợ năng. Tính năng tự động gắn thẻ sẽ chuyển đổi các tệp PDF không được gắn thẻ thành các tệp PDF được gắn thẻ trong Apache 2.0 — không có phần phụ thuộc SDK độc quyền. sử dụng format="tagged-pdf" (Python/Node.js) hoặc --format tagged-pdf (CLI). Đối với các tổ chức cần tuân thủ đầy đủ PDF/UA, các tiện ích bổ sung dành cho doanh nghiệp cung cấp tính năng xuất PDF/UA và trình chỉnh sửa thẻ trực quan. Điều này thay thế các quy trình khắc phục thủ công thường có giá từ 50–200 USD+ cho mỗi tài liệu.

Đây có thực sự là công cụ tự động gắn thẻ PDF nguồn mở đầu tiên không?

Đúng. Các công cụ hiện tại phụ thuộc vào SDK độc quyền để viết thẻ cấu trúc, chỉ xuất ra các định dạng không phải PDF (ví dụ: Docling xuất ra Markdown/JSON nhưng không thể tạo ra các tệp PDF được gắn thẻ) hoặc yêu cầu can thiệp thủ công. OpenDataLoader là công cụ đầu tiên thực hiện phân tích bố cục → tạo thẻ → Đầu ra PDF được gắn thẻ hoàn toàn theo giấy phép nguồn mở (Apache 2.0), không có sự phụ thuộc độc quyền. Tự động gắn thẻ tuân theo đặc tả PDF được gắn thẻ tốt của Hiệp hội PDF và được xác thực bằng veraPDF, trình xác thực PDF/A và PDF/UA nguồn mở tham khảo trong ngành.

Làm cách nào để chuyển đổi các tệp PDF hiện có sang PDF/UA?

OpenDataLoader cung cấp quy trình từ đầu đến cuối: kiểm tra các tệp PDF hiện có để tìm thẻ (use_struct_tree=True), tự động gắn thẻ các tệp PDF không được gắn thẻ vào các tệp PDF được gắn thẻ (format="tagged-pdf", miễn phí theo Apache 2.0) và xuất dưới dạng PDF/UA-1 hoặc PDF/UA-2 (tiện ích bổ sung dành cho doanh nghiệp). Tự động gắn thẻ tuân theo đặc tả PDF được gắn thẻ tốt của Hiệp hội PDF và được xác thực bằng veraPDF. Tính năng tự động gắn thẻ sẽ tạo ra PDF được gắn thẻ; Xuất PDF/UA là bước cuối cùng. Liên hệ với chúng tôi cho sự hội nhập của doanh nghiệp.

Làm cách nào để tôi có thể truy cập được các tệp PDF của mình để tuân thủ EAA?

Đạo luật Tiếp cận Châu Âu yêu cầu các sản phẩm kỹ thuật số có thể truy cập chậm nhất vào ngày 28 tháng 6 năm 2025. OpenDataLoader hỗ trợ toàn bộ quy trình khắc phục: kiểm tra → tự động gắn thẻ → PDF được gắn thẻ → xuất PDF/UA. Tính năng tự động gắn thẻ tuân theo đặc tả PDF được gắn thẻ tốt của Hiệp hội PDF và được xác thực bằng veraPDF, đảm bảo đầu ra tuân thủ các tiêu chuẩn. Tự động gắn thẻ vào PDF được gắn thẻ là nguồn mở trong Apache 2.0. Studio hỗ trợ xuất và xuất PDF/UA là các tiện ích bổ sung dành cho doanh nghiệp. Xem của chúng tôi Hướng dẫn trợ năng.

OpenDataLoader PDF có miễn phí không?

Thư viện cốt lõi là nguồn mở theo Apache 2.0 - miễn phí cho mục đích sử dụng thương mại. Điều này bao gồm tất cả các tính năng trích xuất (văn bản, bảng, hình ảnh, OCR, công thức, biểu đồ thông qua chế độ kết hợp), bộ lọc an toàn AI, hỗ trợ PDF được gắn thẻ và tự động gắn thẻ vào PDF được gắn thẻ. Chúng tôi cam kết giữ quy trình truy cập cốt lõi (phân tích bố cục → tự động gắn thẻ → PDF được gắn thẻ) miễn phí và là nguồn mở. Các tiện ích bổ sung dành cho doanh nghiệp (xuất PDF/UA, studio trợ năng) có sẵn cho các tổ chức cần tuân thủ quy định từ đầu đến cuối.

Tại sao giấy phép thay đổi từ MPL 2.0 sang Apache 2.0?

MPL 2.0 yêu cầu copyleft ở cấp độ tệp, thường kích hoạt đánh giá pháp lý trước khi áp dụng cho doanh nghiệp. Apache 2.0 hoàn toàn cho phép - không có nghĩa vụ copyleft, dễ tích hợp hơn vào các dự án thương mại. Nếu bạn đang sử dụng phiên bản trước 2.0, phiên bản đó vẫn ở mức MPL 2.0 và bạn có thể tiếp tục sử dụng. Nâng cấp lên 2.0+ có nghĩa là dự án của bạn tuân theo các điều khoản của Apache 2.0, dễ dãi hơn — không có nghĩa vụ bổ sung, không cần thực hiện hành động nào từ phía bạn.

Tài liệu

Đóng góp

Chúng tôi hoan nghênh những đóng góp! Xem ĐÓNG GÓP.md để biết hướng dẫn.

Giấy phép

Giấy phép Apache 2.0

Lưu ý: Các phiên bản trước 2.0 được cấp phép theo Giấy phép Công cộng Mozilla 2.0.


Tìm thấy điều này hữu ích? Hãy cho chúng tôi một ngôi sao để giúp những người khác khám phá OpenDataLoader.

Dự án cùng danh mục

supabase/supabase

Nền tảng phát triển Postgres. Supabase cung cấp cho bạn cơ sở dữ liệu Postgres chuyên dụng để xây dựng các ứng dụng web, thiết bị di động và AI của bạn.

108k14k9 phút trước
GitHubRAG / Truy hồiTypeScript

zhaoxuya520/reverse-skill

Kỹ thuật đảo ngược / Kiểm tra thâm nhập được ủy quyền / Gói bộ định tuyến kỹ năng nghiên cứu bảo mật Định tuyến được hỗ trợ bởi AI + Khởi động chuỗi công cụ theo yêu cầu + Cơ sở kiến thức tự phát triển Hỗ trợ Claude Code, Kiro, Cursor, Cline và các ứng dụng khách mã hóa AI khác 逆向/渗透/安全技能路由包 - AI 自动路由 +按需自举工具链 + 自动进化经验库 | 支持 Claude Code / Kiro / Cursor / Cline 等代码 AI 客户端

29k3.9k17 giờ trước
GitHubRAG / Truy hồiPowerShell

RyanCodrai/turbovec

Chỉ mục vectơ được xây dựng trên TurboQuant, được viết bằng Rust với các liên kết Python

16k1.4k3 ngày trước
GitHubRAG / Truy hồiRust

xberg-io/xberg

Khung trí tuệ tài liệu đa ngôn ngữ có lõi Rust. Trích xuất văn bản, siêu dữ liệu, hình ảnh và dữ liệu có cấu trúc từ 101 định dạng (115 phần mở rộng tệp) cộng với mã thông minh cho 371 ngôn ngữ mã. 15 liên kết ngôn ngữ — Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, TypeScript — cộng với máy chủ CLI, REST API và MCP.

9.2k5766 giờ trước
GitHubRAG / Truy hồiRust

Future-House/paper-qa

Độ chính xác cao RAG để trả lời các câu hỏi từ tài liệu khoa học có trích dẫn

9.1k91112 ngày trước
GitHubRAG / Truy hồiPython

vespa-engine/vespa

Nền tảng tìm kiếm AI

7.1k7352 giờ trước
GitHubRAG / Truy hồiJava
opendataloader-project/opendataloader-pdf — Repo Trending