在从 PDF 文件中提取文本时使用 Python 替换 (cid:<number>)(我无法在其中添加评论),我尝试使用 @josefz 脚本转换以下内容,但得到原始字符串中没有的无法识别的字符串PDF格式。PDFPlumber 最初提取数据。
import re
def cidToChar(cidx):
#return chr(int(re.findall(r'\(cid\:(\d+)\)',cidx)[0]) + 29)
return chr(int(re.findall(r'\(cid\:(\d+)\)',cidx)[0]) + 29)
xx = '''(cid:50)(cid:54)(cid:47)(cid:48)(cid:49)(cid:47)(cid:50)(cid:48)(cid:50)(cid:50)(cid:32)(cid:49)(cid:48)(cid:58)(cid:52)(cid:48)(cid:97)(cid:109) (cid:50)(cid:48)(cid:50)(cid:50)(cid:48)(cid:49)(cid:49)(cid:48)(cid:57)(cid:57) (cid:80)(cid:97)(cid:121)(cid:109)(cid:101)(cid:110)(cid:116)(cid:32)(cid:73)(cid:115)(cid:115)(cid:117)(cid:101) (cid:65)(cid:115)(cid:115)(cid:105)(cid:103)(cid:110)(cid:101)(cid:100)'''
for x in xx.split('\n'):
if x != '' and x != '(cid:3)': # merely to compact the output
abc = re.findall(r'\(cid\:\d+\)',x)
if len(abc) > 0:
for cid in abc: x=x.replace(cid, cidToChar(cid))
print(repr(x).strip("'"))
输出无法识别:OSLMNLOMOO=NMWQM~\x8a OMOOMNNMVV m~\x96\x8a\x82\x8b\x91=f\x90\x90\x92\x82 ^\x90\x90\x86\x84\x8b\x82\x81
我在上面做错了什么吗?