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
相关产品推荐
相关产品推荐

