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

PDF机械零件尺寸提取乱码:寻求脚本化自动解码方案

机械零件PDF尺寸提取乱码问题解决需求

问题背景

我有52份包含机械零件数据的PDF文件,需要提取其中的尺寸信息。使用pypdfium2提取文本时,多数内容可读,但关键尺寸部分出现乱码。

已使用的pypdfium2提取代码

import pypdfium2 as pdfium
pdf = pdfium.PdfDocument("myfile.pdf")
page=pdf[1]
textpage = page.get_textpage()

乱码情况

提取结果中关键尺寸段显示为:

Readable text \r\n\x13\x0c\x10 \x18\x0c\x18 \x0b\x10\x0e\x10\x15\x18\x0f\x10 \x15\x0c\x10 \x14\x0c\x10 \x14\x0c\x15 readable text

已知该段实际内容应为:3,0 8,8 +0,058/0 5,0 4,0 4,5

尝试用tika和PyMuPDF提取时,该部分仅显示问号。

字体排查结果

通过以下代码排查PDF字体信息:

from pdfreader import PDFDocument
fd = open("myfile", "rb")
doc = PDFDocument(fd)
page = next(doc.pages())
font_keys=sorted(page.Resources.Font.keys())

for font_key in font_keys:
    font = page.Resources.Font[font_key]
    print(f"{font_key}: {font.Subtype}, {font.BaseFont}, {font.Encoding}")

得到输出:

R13: Type0, UHIIUQ+MetaPlusBold-Roman-Identity-H, Identity-H
R17: Type0, EWGLNL+MetaPlusBold-Caps-Identity-H, Identity-H
R20: Type1, NRVKIY+Meta-LightLF, {'Type': 'Encoding', 'BaseEncoding': 'WinAnsiEncoding', 'Differences': [33, 'agrave', 'degree', 39, 'quoteright', 177, 'endash']}
R24: Type0, IKRCND+MetaPlusBold-Italic-Identity-H, Identity-H

需求

拒绝手动转码,寻求能提取字体编码映射并自动完成解码的脚本解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 11:05:25