主题
Parse 会对任何没有文本层的页面自动跑 OCR:扫描 PDF、拍照得到的收据与表单、图片文件(jpg、png、tiff、webp、heic 等),以及原生数字文档里内嵌的图片。PDF 里已有的文本会被直接读取。多数扫描件无需任何配置。真需要配置时,起作用的是三项:OCR 语言列表、手机照片的相机校正,以及档位 —— 因为 fast 不会对页面跑任何 AI 模型。
什么时候用它
- 每一页都是图片的扫描件:合同、理赔单、化验报告或登记表。
- 用手机拍的文档照片 —— 拍出来是歪的、周围有背景、光照也不匀。
- 非英文或混排语言的文档,OCR 需要知道该预期哪些语言。
- 内嵌图片的文字你想一并取到、或有意跳过的原生数字 PDF。
Parse 概览 把“倾斜角度很大的扫描页”与“手写批注”列在 Parse 专为处理的版式之中。图像质量仍然限制着 OCR 能从扫描件里恢复多少内容;一个纯图片文件若所有页都取不到文字,会以 NO_DATA_FOUND_IN_FILE 失败(见故障排查)。
选项
| 选项 | 类型 | 默认值 | 作用 |
|---|---|---|---|
processing_options.ocr_parameters.languages | 语言代码数组 | 未设 | OCR 应预期的语言。顺序有意义:主语言放最前。只影响从图片里读出的文字;原生 PDF 文本不受影响。 |
input_options.image.camera_photo_correction | boolean | 未设 | 对 jpg、png、webp 与 heic/heif 输入,检测出被拍摄下来的文档、裁剪它、校正透视,并在解析前抚平不匀的光照与阴影。干净的扫描件与截图不会被改动,因此在混合批次里也可以放心开启。 |
processing_options.ignore.ignore_text_in_image | boolean | 未设 | 跳过内嵌图片里的 OCR 文字,例如以数字文档为主的文件里的 logo 或水印图。它会让本次任务完全不做 OCR,所以只应用在原生数字文件上;扫描页这样用会连文字都拿不到。 |
processing_control.job_failure_conditions.fail_on_image_ocr_error | boolean | 未设 | 只要某张图片 OCR 失败就让整个任务失败。默认情况下,OCR 失败的那张图片只给出空文本,任务继续。 |
output_options.spatial_text | object | 未设 | 保留空白的文本输出,适用于位置本身有意义的扫描表单与收据。开关:preserve_layout_alignment_across_pages、preserve_very_small_text、do_not_unroll_columns。用 expand=["text"] 取回。 |
语言代码遵循 API 参考 里的 ParserLanguages 枚举:有 80 多个取值,包括 en、fr、de、es、it、pt、nl、ru、ar、hi、ja、ko、ch_sim 与 ch_tra。
扫描件该选哪个档
| 输入 | 档位 |
|---|---|
| 扫描页、照片、多栏扫描件 | agentic,默认推荐;密集或关键性扫描用 agentic_plus |
| 只需原始文本或空间文本的普通扫描文字 | fast,最便宜的档。它只做文本抽取与 OCR、不跑 AI,因此不接受 agentic_options 或 processing_options.forms |
| 混合文档、其中只有部分页是扫描件 | agentic 或 agentic_plus,配合成本优化器 |
示例
从 Wikimedia Commons 下载一张法国发票的手机照片,存为 invoice.jpg:
终端窗口
curl -fL -o invoice.jpg https://upload.wikimedia.org/wikipedia/commons/2/24/Facture_briconaute_1.jpg上传它并跑一个 Parse 任务,告诉 OCR 首先预期法语、其次英语:
from llama_cloud import LlamaCloud
client = LlamaCloud() # reads LLAMA_CLOUD_API_KEY from the environment
file = client.files.create(file="./invoice.jpg", purpose="parse")
result = client.parsing.parse(
file_id=file.id,
tier="agentic",
version="latest",
input_options={"image": {"camera_photo_correction": True}},
processing_options={"ocr_parameters": {"languages": ["fr", "en"]}},
expand=["markdown", "text", "metadata"],
)
print(result.markdown.pages[0].markdown)input_options.image 只作用于图片文件;对 PDF 会被忽略。languages 列表则用于每一个走 OCR 的页面,与文件类型无关。
你会拿到什么
OCR 的输出与原生数字文档的解析结果长得一样:每页的 markdown 里带标题与表格,另有每页的 text。text 视图保留页面的空格排布,所以它适合收据与表单。这段摘录是快速上手 那份报告第一页的 text 视图:
1 EXECUTIVE SUMMARY TO THE FY 2024 FINANCIAL REPORT OF THE U.S. GOVERNMENT
NATION BY THE NUMBERS
Net Cost:
Gross Costs $ (7,772.2) $ (7,661.7)
Less: Earned Revenue 652.9 $ 539.5两个逐页 metadata 字段在扫描件上很有用。original_orientation_angle 以度为单位记录 Parse 为了读正这一歪斜页面而施加的旋转(无需旋转时为 0);confidence(0 到 1)是解析器对该页的自评,可以用来把低置信度的扫描转给人工复核:
{ "page_number": 1, "confidence": 0.985, "original_orientation_angle": 0, "watermark": "CONFIDENTIAL" }横盖在页面上的水印文字,在 cost_effective、agentic 与 agentic_plus 档的 2026-09-28 及之后版本里会记入 watermark;output_options.watermark_handling(move_to_end、move_to_start 或 remove)决定它在 markdown 里放到哪里。
另请参阅
- 配置 Parse:OCR 语言 与 相机照片
- 配方:多语言 OCR:Python、TypeScript、Go、Java 与 CLI
- 档位:完整对比,含
fast会返回什么、不会返回什么 - 支持的文档类型:Parse 接受的图片与扫描格式
- 表单与复选框:需要的是字段取值而不只是文本的扫描表单