You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取PDF出现乱码,如何用代码还原为可读文本?

PDF乱码还原解决方案

问题分析

该PDF第2页的乱码源于内嵌字体编码映射异常,常规Python PDF处理库无法正确解析字符映射关系,但大语言模型可通过字符形态特征还原内容,因此可调用Claude Haiku的API实现乱码还原。

实现步骤

  • 提取乱码文本:用fitz库提取第2页的乱码内容
  • 调用Claude API:将乱文本传入,请求还原为可读内容
  • 解析响应结果:输出还原后的正常文本

代码实现

import fitz
import anthropic

# 初始化Claude客户端
client = anthropic.Anthropic(api_key="你的API密钥")

# 提取PDF乱码文本
doc = fitz.open("2303.11366v4.pdf")
garbled_text = doc[2].get_text().split('Figure 1')[0]

# 请求Claude还原文本
message = client.messages.create(
    model="claude-3-haiku-20240307",
    max_tokens=1000,
    messages=[
        {"role": "user", "content": f"请将以下乱码还原为可读的学术文本:{garbled_text}"}
    ]
)

# 输出还原结果
print(message.content[0].text)

注意事项

  • 提前安装依赖库:pip install pymupdf anthropic
  • 需申请Anthropic的API密钥,注意密钥的安全存储(建议通过环境变量传入,避免硬编码)
  • 若乱码内容过长,可分段传入API以避免超出token限制

内容的提问来源于stack exchange,提问作者xxy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 23:46:02