> **用于 RAG 的 PDF 解析** — 转换为 Markdown 和 JSON,快速,本地运行,无需 GPU
> OpenDataLoader PDF 将 PDF 转换为 **可立即供 LLM 使用的 Markdown 和 JSON** 具备准确的阅读顺序、表格提取和边界框功能 — 全部在本地机器上运行。 > > **为什么开发者选择 OpenDataLoader:** > - **确定性** — 相同输入始终产生相同输出(无 LLM 幻觉) > - **快速** — 在 CPU 上每秒处理 100+ 页 > - **私密** — 100% 本地运行,零数据传输 > - **准确** — 每个元素都有边界框,正确的多栏阅读顺序
## 系统要求 - Python >= 3.10 - 系统上安装 Java 11 或更高版本 PATH
安装
pip install -U langchain-opendataloader-pdf
快速入门
from langchain_opendataloader_pdf import OpenDataLoaderPDFLoader
loader = OpenDataLoaderPDFLoader(
file_path=["path/to/document.pdf", "path/to/folder"],
format="text"
)
documents = loader.load()
for doc in documents:
print(doc.metadata, doc.page_content[:80])
参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
file_path | `str \ | List[str]` | — |
format | str | "text" | 输出格式: "text", "markdown", "json", "html" |
split_pages | bool | True | 每页拆分为单独的文档 |
quiet | bool | False | 禁止控制台日志 |
password | str | None | 加密 PDF 的密码 |
use_struct_tree | bool | False | 使用 PDF 结构树(标记的 PDF) |
table_method | str | "default" | "default" (基于边框)或 "cluster" (边框 + 聚类) |
reading_order | str | "xycut" | "xycut" or "off" |
keep_line_breaks | bool | False | 保留原始换行符 |
image_output | str | "off" | "off", "embedded" (Base64)或 "external" |
image_format | str | "png" | "png" or "jpeg" |
content_safety_off | List[str] | None | 禁用安全过滤器: "hidden-text", "off-page", "tiny", "hidden-ocg", "all" |
replace_invalid_chars | str | None | 无效字符的替换符 |