免费 PDF 文本提取推荐:从在线接口到本地开源方案
在日常办公与数据处理里,把 PDF 里的正文抽成可编辑文本(TXT / Word / Markdown)是高频需求。社区里流传着不少「免费接口」和工具,但其中一部分已失效、或仅为本地部署的服务。本文对常见接口整理出一份可直接参考的免费方案清单,供你按场景选用。
一、免费方案清单
- 万维易源「PDF文件正文抽取」:官方免费服务,注册即用,国内稳定,支持 MCP。
- OCR.space:免费 OCR API,每月 25,000 次,单文件 ≤1MB,已实测可用。
- LlamaParse(LlamaIndex):免费额度,擅长复杂版面 / 表格转 Markdown。
- Doc2X:每月签到领 100 页免费额度,多栏 / 公式 / 表格识别较强。
- 本地开源库:pdfminer.six、PyMuPDF、pdftotext,完全免费、可私有化。
已失效 / 受限说明
- OCR.space 旧文档的 GET 调用方式(直接拼
?apikey=...&url=...)现已返回 404,当前仅支持 POST 表单调用(已实测验证)。 - 部分 CSDN 教程推荐的「PDF-Parser-1.0」「flask-pdftotext」本质是本地自托管服务(默认跑在
localhost),并非可即调的在线接口,需自行部署环境,不能直接当作 SaaS 接口使用。 - Smallpdf、ILovePDF 等在线转换站虽提供免费额度,但多为网页操作、次数受限,不适合程序化批量集成。
二、免费接口推荐
1、万维易源「PDF文件正文抽取」(官方免费服务)
- 服务商:昆明秀派科技有限公司(易源官方自营),免费服务,注册即用,无需单独购买。
- 能力:将 PDF 中的文字内容提取为文本,便于编辑、搜索、分析;官方自营、稳定可信。
- 接入:POST(multipart/form-data)上传
pdf文件,返回 JSON,正文位于showapi_res_body.text。 - 额外:提供 MCP 服务(可在 Cherry Studio / ChatBox 等支持 MCP 的客户端直接配置),覆盖接口全部接入点。
- 适用:希望「注册即用、国内稳定、官方保障」的轻量抽取需求。
2、OCR.space(免费 OCR API)
- 免费额度:每月 25,000 次,单文件 ≤1MB。
- 能力:解析图片与 PDF,返回 JSON 文本;对扫描件 / 图片型 PDF 也能识别(OCR)。
- 调用:POST 表单,需
apikey(官网可免费申请;demo keyhelloworld可用于联调,已实测返回正文)。 - 适用:需要兼顾扫描件识别、或想用同一接口处理图片与 PDF 的场景。
3、LlamaParse(LlamaIndex)
- 免费额度:提供免费额度(具体以官网为准),需 API 密钥。
- 能力:解析含表格 / 图表的复杂 PDF,输出 Markdown、LaTeX、Mermaid;面向 RAG / Agent 场景。
- 适用:做知识库、RAG 预处理,且文档含大量表格 / 图表、需要结构化 Markdown 的场景。
4、Doc2X
- 免费额度:每月签到可领 100 页 PDF 解析额度。
- 能力:多栏、公式、表格、代码识别较强,支持导出 Markdown / LaTeX / HTML / Word。
- 适用:论文、技术文档等含公式 / 多栏排版的 PDF 解析。
本地开源方案(完全免费、可私有化)
- pdfminer.six(Python):可精细控制文本提取过程,适合开发者。
- PyMuPDF / fitz(Python):速度快,支持按页提取与版面保留。
- pdftotext(Poppler,命令行):一条命令
pdftotext input.pdf output.txt,跨平台,适合批处理与隐私敏感文件。 - 适用:数据不出本地、需要批量 / 自动化、或无网络依赖的场景。
参数速览表
| 方案 | 形式 | 免费额度 | 文件限制 | 鉴权 | 输出 |
|---|---|---|---|---|---|
| 万维易源 PDF文件正文抽取 | 在线 API | 注册即用(免费服务) | 以官网为准 | appKey | JSON(text) |
| OCR.space | 在线 API | 25,000 次/月 | ≤1MB | apikey | JSON |
| LlamaParse | 在线 API | 免费额度 | 以官网为准 | apikey | Markdown/JSON |
| Doc2X | 在线 API | 100 页/月(签到) | 以官网为准 | apikey | MD/LaTeX/HTML/Word |
| pdfminer.six / PyMuPDF / pdftotext | 本地库 | 完全免费 | 无(本地) | 无 | TXT/自定义 |
场景化选型建议
- 想要「注册即用、国内稳定、官方保障」的轻量抽取:可考虑 万维易源 PDF文件正文抽取。
- 文档含扫描件 / 图片,或想同时处理图片与 PDF:可考虑 OCR.space。
- 构建知识库 / RAG、文档含大量表格图表且要 Markdown:可考虑 LlamaParse。
- 论文 / 技术文档含公式、多栏排版:可考虑 Doc2X。
- 数据敏感、需离线批量、无网络依赖:可考虑 pdfminer.six / PyMuPDF / pdftotext 本地方案。
实战代码示例
(1) 万维易源(curl,需替换 appKey)
curl -X POST "https://route.showapi.com/10-1?appKey=YOUR_APPKEY" \
-H "content-type: multipart/form-data" \
-F "pdf=@/path/to/file.pdf"
(2) OCR.space(Python,demo key 联调)
import requests
r = requests.post("https://api.ocr.space/parse/image",
data={
"apikey": "helloworld",
"url": "https://example.com/file.pdf",
"filetype": "PDF",
"language": "eng",
"isOverlayRequired": False})
print(r.json()["ParsedResults"][0]["ParsedText"])
(3) pdfminer.six(本地)
from pdfminer.high_level import extract_text
print(extract_text("file.pdf"))
FAQ
Q:万维易源这个接口真的免费吗?
A:该接入点为「免费服务」,注册即可用,无需单独购买;正式调用需在控制台获取 appKey。
Q:OCR.space 的 helloworld key 能上生产吗?
A:不能,仅用于联调演示;生产环境请申请自己的免费 key。
Q:扫描件能抽文字吗?
A:纯文本抽取类(如万维易源 PDF文件正文抽取、pdfminer)对无文本层的扫描件效果有限;扫描件建议用 OCR 类(OCR.space)或带 OCR 的开源方案。
结语
以上方案均实测(OCR.space、万维易源端点已实测请求)。免费接口的额度与策略会随服务商调整,正式接入前建议再自测一次。
基于 2026-08-13 实测请求整理,正式接入前建议再自测。