公司动态

Python-解决SimpleDirectoryReader读取PDF乱码问题

📅 2026/8/4 20:25:29
Python-解决SimpleDirectoryReader读取PDF乱码问题
一. 结论先行缺少 llama-index-readers-file 和 pypdf 依赖二. 示例代码from llama_index.core import SimpleDirectoryReader path ../file # # 创建文档读取器 reader SimpleDirectoryReader( input_dir path, recursiveTrue, required_exts [.pdf] ) # 加载文档 documents reader.load_data() # 返回的结果response 是 List[Document] 列表 for document in documents: print(* 60) print(document.text) # 输出的文档内容 print(* 60) print(document.metadata) # 输出文档元数据三. 错误原因解析1.有 llama-index-readers 依赖缺少 pypdf 依赖时Failed to load file D:\Patrick\Study\PyCharmProjects\AgentStudy\LangChain\进阶 RAG\LlamaIndex\图文类型数据处理\L1SimpleDirectoryReader VectorStoreIndex\..\file\公司季度财 报.pdf with error: RetryError[Future at 0x2032dfd4190 statefinished raised ImportError]. Skipping...2.有 pypdf 依赖缺少 llama-index-readers 依赖时 %PDF-1.7 %³ /Filter /FlateDecode /Length 839 stream xXj0}/\F]_1JB҇~Gldw6aJkϙ3R)SD(ΙN?o߅ҔU~}{,S.^Pv?GwHzZ2-Xpftϥd d,:XlFV3oW tUV5.b^]K|J.!~wԭfܚ:.W4/]rRr-.UDMLp%vVksb}v%U0JӁo~7iJZG߭%lޞvqRXOȆ: 8hKU1sBa|Mi9zAScO4)k7R..gǙ8R܄F9t*R݁[HzU0:p;̱PYh75SpP;Ҥ{ /Filter /FlateDecode /Length 266 stream Yڿ_I /Filter /FlateDecode /Length 21013 /Length1 74640 stream xxTE9e7 %jBHB %$-*bEDQQP;v*f΄׵_{̙9!FDt y]GM[xQJH{J? g4B~oU)yime? |/(Xxa\Fp- CU};53kmŘvPshEy6N!Sh^L%}}Ne0!j4N͵hMb6:wl~! ف٧h)Vhb2|ծp6\?B SjmӘGOEzs\{^r;)h186Ό˰C/KPrȥڥB.bZGeXWqDr)ϳ|Mf6K{S6QsޣG5j 60K,.qOxPk_bI^0. ue;aJP,z5w)t%__尵8icp!h 9NQd KAW|5;jN(F8-Bx醋YenITѮmzmM3is5-99fڨ^cc*eܾnU[8ޖvS?kvvPNI%慍G?P# L:υ}g!бEnvRM G}adF5MߏHjШ9 y 0 GݬFecGITGOXgœuc 6%j|H.wS#Wi,{WN)ꨍ eꠥP3m,/4~[Of!Zj6e;0 TX{Oĺ諈[K~sTu yb3e?a cuU4:8{nl_χA :{,Ezcͺ2 4CB.˴υqOxv9b^}opγgrY4Rَ5D)(l4{AIk7QmgNc(m~L~j9g}^?]ws{x8}h}bIuj3#2[nB^Z$\LQ.AQM vg^g~(nӋlP~zȴ㉲ Ʈ{Qxy1G乴9?_lնWx?SS.y΅ؽs3qKvvk0W~r y e| ;S;}ϔ{ /ڗ/$_#YmB W%;[kQɟ\}|פ~_.ؿc_s!s2]Q{0S\c[ȼ o˞]E sx_,[Xn?BffOh3Bijϙ,튳b{a?H{inWjBĭGzs:s G?Ny~.{u)Ґ8h.璿ʳZg: )1SYIxy7B?L~^|W) ӿǏ^p;Z ވ#[(8\UiNsm4S1O~4[OB{cm7;lsDpc|DyΟ) E8L!jS٨~rxޯ6\AюaԀnD_qG%4D;p]of]v!4F_DxؗvY3V9ٳh~޶I^;J8 pɁU5T݈^xyM:xa飼~$P^?ɒiw~~}m-Bfof58^֫MeW͆}rD0PUb0B;Q*di\Ψ%mKPmӥE6m۪ {ŋwTEDZvSG~~oPAsiE^4ޱWb䟍́j}%|N}2޲~5X\O2|h;:{p5vEp,DcnfFUUʥ;xȟ)lD$OCCyERosѴՉCMoXCK?V\ַ c]BUX l5GYg}l4ߟϥb(LAV%CְպKSAO9ub?mF~G⽪v\F3wShc|wce(杶~^#RQ~vl -aaXV(l3wCZgu!5 0gzmQ Yv )t0kq#tOcN\ca 6pY7$idtcMdj9ʸb_5 6ަnأ݇بt隋itNQ;SCGg(Kϫ(/N1[1碼O׻v1L2WeeeTCDr؏63c]w$_/;kNѬG5ZN.¼GC )P7I K3}hI׋:aQ_IScsүF[ wtDj;})YB̲yZH# cPz O0.sh֟i4k3re(5v:.44,2hOB \xinNC7s(M#ҏϐCe6ӖmWJXf4pho*Я6%pXS[׊zks9t?b6}$8 A-A#;^K$A 15w2ăr6xH{tnZ{ad-WiMpCv6pd|!cp¶3zwqZe: fs2$mn߷v8-vl5%KEk]:% 05 aW4D/h!:E:vkؾцgɲw0Ylc|s}N~q3T1L q ^~(yΆnUF.%MA/Gnvl%~49 /uܿHH˂myC{.O ;^sXM^;5vnF5w]c;zgusG˺NhMI1$_6p_h˺v0vzlm6M[z/6xllm6M[U{vl:m8_LA;q!mF[օw8QgoObNjnݷp7muWibn3c~Zosyϱk?wSkZ3ςN7WroT?83yڕΡYQMmTHD0N]d~zk:w6yy:js}?ySľ߃}}a_k}}X}oF^騳}^Qo4CG[kIs!4ʟB^cy]v#3Hp?-?u8ЮvzmokE4Db,e Tv~{巫W^|z޷vu̎yNCγZ {OPcͳN Iܫv#^*u?]Ocp}x;?տ95ȱǶZcP)t9ՙh.uRKkRϰ{IFUb\f;QKKAwtsm,ж-{# 5};Mlĸjq4hDWi͸Lijt#~Ʌi Dͦ{ mtqq-4XK.ߦ$7o3fh6B9Jo*?4Ksda̖is4ݔ᷇Z韢.|0]8M?mq_ Gc|HlPE9r#iF]UmoN4oc8r3$ ~ጧIli#/Oaq3}Ji O(LBw/wG 7s~#5Cހ59ƨO} mqh4#fPbV0nw;*)#)Y?aSwKU|\ZZݮC4ncoaLnۑj/S;i$9{;?ˍ w,/DV(gi {J]t]N/#[b}l~zXZ̟7wY3fL6uJ䒉 Əu5rDaCd4pVfF~i}ճGJn]۷kۦeRbfQa!~Ni6 YEq0p[N(GG;^Y5øD!V42:$M۶LsWGB_)B7#xĈˌfEqES32 mCBsL˄_#~[Y\Hvq._[JJJbD*3˯t%[%d[-, EnNNb#ofbhB\/Qӧq$B\E\W:!o!rueMýbDt Jk֊J_YTG/JMYd_45ʽbb\6}?qέM4 F2eߡx5uOHHڨ\Ŏ廉Iv,wAVˆ.q:Sp7FI,-)uEFǻP}y x%[}ŋ;X([*0/3/.Wxk#.{B(K8yeѤ.H~IQϋ?h;OfPxTIYyZeNDM;vjuSua1xsTD\iHFxVsSN\n䄼\^6^ע}G%dm5\zt)CUws˃ u{xr^{brBg6((~tQ,Lw Y qqYŕ֊dMqQ0aTnhˣ{S64Jߟ֌؟֌} (n i7ǵ _rOH8D҈VIc4R~FIFi! WB g? ~uG\-8 ÉɗʄaB2!90tt Ysy1|R.fdctNvfq6Z2LH\y\hBKD)B#Ut:hVL˝Ύʳʹ:خ6NY5ĸHǽ()W !_|QG {zVv7I3gA, n8Ql0tRV*2PʥJD)˕rR)eR.R,V,TW\QlRL)eReR*eRJ2Y)%JJ)VJR RlbA^뤸VkXZj**)HqWTDq*K!VJqYEbEE$cviEd7KX._,-biEd E2)KHR,bLzW9 ffɐ3(bӥMbYYr(HB)BȜb,tL:O(W2c\2Rb#* r*WDbЊCdl)WD.kgVE%WBdTD\ ѿbDzExD?)ҤHoE8wGzWAgE ѽ,[EXDWyt!;VcdmHL-HRs)dd28J12^S)H-Ec)UDUNhXH)/E#J)I,E(CHO)pJ!MҐL N?;~_ k?|N׾p| 7%zSc?CCc3b7b C-89U x_ߋ3c_ lg%)}ia~ pм؇ P ~pĵ xQKc8v_ؽ{vp[ݐ[g;}; 6u#ڊo3lGz6x5Sb6zbzJ*ҵuK]]] \G/^l-Ow\ZZwbג]jWP:kޅ.caYBa!ha¸z\4/gފyyF/i4TZ̋ɂLr^ph\lל]Jg#R*M)qM[ )i_MJ*N)r-pOwۛ O)ٮ!{]SDPqMPaM)fӢ?ڠhwhqlcUH#x#6ѥmDEj6Q?avY A\YBfHٱ(vlHe~ɮ 1F,BC,26K?GcJ?fk܉n7gz;_ܫ׭r;eWp-M A_8?97}}XZ Bd^li:v /Xo^A9Bc5Wj--0VZY /s 5ad;/?B?6PY8??;{,r*V2\ .X f 40L_XM%A(Ɓ|rX0ėhH0 l0 2AA?RA_O Π:hڀd-AAs xbAh h4Q!h AA!A L[y8NS; ~?|N3_%5 _/3)|.xoQx^W%xG4x 1(x%8 w}/ ;6 nN6p# ȌGY(?bZj85PW:lP%k{0չN(ꃪW}p2G^Ѿo~ܱCtZDCe5PYWݱLKR42$d;tcaazHhN[Νj]$%4 .ݺ;Wn~_^.IHٌi0Qm{ػ]St覟efeu5l4/iȦaΪz~4oި;zOmo 2Q^Ƅ5뇆5s_uEdFHVPbjBq3A^BE4O%7KB:ǣ,Z0τp[MGؤGXc4G]h S~[hC䅩4Oe]RYTZj$hiW6zve]YW\8d Lm:!5mBߦV׎\V{¨nzJo7dŝCbBzLgaz3m1F4ullnCؐnPِOWEtQcCD;ϛs%$Vl*FiZrϖjJ-*qLHB PAś7kim(:[3~_Vl*5qԁHhĻw.sXmDWQ1™lLgT6j?G?X2 #[VH9Og/[zGir2ezɽvpM )-M/{o;77Yp/ټy SD!cA7a͛MXB4kޘ5oĒXRCJNx\( ʧV[U.d!äUV/G qޞ~W_a iE8oF9Zñn6H ד1bYIIRI$)Mɾ)Mɵ|{։*k8]8W$δh2-\{8L!Z XPg~( ]G7k( EPNJ.! q2 EPw onhy[!N2V0STTBUL-H}u,PFjiQs00FSE؄NRǀP%~uPs[bX_≣WkTΙT22Sz*ϮoaAN9/Vw}$O{4?loH/уg7WQ /Filter /FlateDecode /Length 522 stream 4sxϭ5-VB;2Nsya)~Ww /Filter /FlateDecode /Length 31734 /Length1 233784 stream xkduvUuttvwvfEcwg]ęĂIq Otct]\k_wLqwGq??EckgO4SksJ}ha㬣aϨeWߍͦ㷙_pxᯜvx?G3j.ہ/{Ep;GRq}dۍ9Uگ{OjqJfS7G긼7]C/ C^g1p|qVi๋5qEǚ(㡨5#1N~x!LmwqlG|84qJyse4R_y1J9d2eۧ/ڢ˙LibQ_\cC1Xcd{,u: |.$H|yV22-ƇhgN|!Xs#SվxGT1\561r;R;aAdz9MGLcl/:C rOLM)G#egܮo~$l[ʩ\$.#}sw{v-*#^Mr$)?ُz7^r}~tIOAq^r}%ٗqɋ,%(|#ߘh;,u7Gl9Pϳ:Y}Xc˵Ԭ m1u}ALEo/k㜈Y3[yޔ0djLҦ0-3*Flܡ*߉2gvχ!]59 nRKkc }nWE]‡6 cQ5l]DN}LWq鉚՝ H}3L]MΫa{A5ɽfi}B8?c sH{,әl?Rjyn9f$% Ƅ䯩j~CGsl5z~fg~eX0lWVU?7Tf5{y}193϶\M5k7Xb7^ѽ*v#tpS4ΐ5;9 ?h-dX\_{SS K4E/dHU6?;.c,(1Psr*gArkWWr},(-4K,pߺ:tM]Q/CF8n.yQm;7y]C^d}dblÑkaGc]gjN *ɹ\u×a$.q6JcB;aTHg\?L/}bY3ZT|\ԥ,wsCyPȚ!VƺPջzNլo 25זg:]icsmfDz2ymlwWcrROE9(XWd|^ƹj. 19neTu?!I4H,r͉s5V| _X0A빂1RfQsBmUz瞤SRorJN r7ܟDͮ|cXrNlomٹoFyfZT;嚮NMjqAӜW\JD_kG__uF?),ouEOUoѢv1p}H}[O8^/uN) KX6YIA |6/%O;v$mў̧Da_y_[R^K\C|r9: ]UšTFxw Q| G1Wlwϣ|mϞg:yzpZ91/81.瑜?hאkH|㽫T\odL噷{IZ\kDӐzK?W8޺q|uL,q{,32^gUFgW3aч3;KΊGUPWu]r9S;|%߅*?:ig8NbgQ!7go{ ~ہ[P9{W3vt$zG Mɩ6C|aD_; lpBGj,p:)֐ OmӁ[PǀƞdO_ eN~ʲ6sn$p (|GφEۇFHJu}Vd?awUZSQ$\_n3uYηv)U}߱IJSy;rOuSʵܧuεbdܦbq/f%i|6 ˲S }I]{uylNI[9PI/ޞuqf/ĄqAylg7|2 go~cĸ܈lڪS#pJY_#1/rѦVsBWy#_;.텯O%|u|q~G5g_CGfW{X!q[pbIҁ6wGهE.1nOԕv]]HվS9(Ɣ2!eV(tB7s(:L[ʍD9ޣ|oe[Sum⹫):L-ؓB-ӚQbP--ہng̴W!9LL?~}KuAey~KYB^|֙_}֤CbQƕuLVf?v{#bujeO 3qcUͷ:Kmp9H[ק[JoǶ\zS)Kx ˨:P~|fǑ?AW6:Q,wl9,R9Ce,pUKm}kq/6,}\v[K^˘ {g|ϒ_uڈa9d߹ᐿStSr6n3r*3V}[xlۧWd|H~vH ˸-w{iP[) t3t Kg;d\\~ugvX:C zGbpp٥4Sg*}]ߘWWc/\hF;6lsqed{n :kM^O:x_B͎\Z۷.dxꤔ/㩧_O?ӹDu;Mߜw}TfK^2?x-}OU#nxR)s76gauP~X16/ t!!8ΰ.Icؠ8l[w2uo.96qGuu8L#Nx 5q#׶.yuťSoA[s\UVՙ1SX;GTfц/e/˔Ͽ и$_E[ƿKc77 OX/)pI$v:)|a|-iلg[;czь,:bҷۖvQߟ|LI{KϺnLt ^Kۍ%}mG~W sllז]3|͔stozxMLe}?|dkA/m-;Srl}h |;(U%|nR5;}9fܣv嘪9h:4-sUͱB?K|4hxwLX;;E߻y{q9NLU:|a R_AK\9-cti[36l2x(S~bQ2ua%slJ9ƖLB~*9J8hTV?ۚݺA\hts*r0W3xښ­^ckczNn.?ru]γ|:o8?9WAM%L\4Z̦{GZ-S8Ҳs r،J?ʕFf! EQ,}ܶ[3oHOR:Z.%Je[˦)vS;ndN;/AJ1S3M|;.Uz%ber˯lVeԤJT|%SdSya5ŏF-؄(HVtL-Tԭ$Y#QJmlYTa0齡A#QAuó~TEO*ul:;inx7#iUz3;UҌ/㙻ĭJͧ~t:쫔R۞FS[xaI:ԐlWSXCvoLc)3|kEB4 Ww不Y.i^NuWeӾ$Vlcfg;H\5%-c[uաj}1{.RX~kb(c1%^z.ki-˖ў[\K/d]JE2.8lzn%v}[ WBQ3~¢fV9K͏֊fk#*-ZUqg\i6t}-gwb^ic{e*;2ܚ-ITŔnkazua Um;e sqȎ:N*}ʝkWVm[ogLa_tWFlo)o;}׎#ihߎ7mANy^l թk:mMp.{N~J vXKeKOiXv;58J݊{]e\peV]۞5JmNԙ~yzMwVzYƣ\q^dUtK~)S^#3Չc)A֐ͩfE /w?Skәk;؝8솔ȧr6$WqtJyeg˽PXWUDajo5ZNvXMEjVU|ZVRmRwD)gFYAMzkʭp\LC31V\dtLǭ;Q3jULNUL%Um4)NVQjp9mU;A֠HiNܘVчNɗTqҹYJ.,UV/8x1q|lmxxN|w#‘Eq0M,iQpů|%wLX#Wi3Bd֜Yt*Ol)0ǐZt?1,fM[Õy}O2nycіSSnUʝ\}4DEwGGt]tt!G?A?5Cѫ3vttQߥKm꾯Ewŝ_ſ?ΏG/|~o?O~oׯ]?|_zy|ZOi7ӧIoӧ^㱽MW6yʥW76vW{;{\{udjQ^~US^y*湻^wy[?y~ ٓ7޸o՛,vuOv{oO6Weoxc.ÝZBc\G*wꕽoKGs{KF_,___klN^ʍuu_9ؘlKGLɆ5zs^N?7:7֣hǦΙThC#ss-[~;Q] Mk!MEߝ:eC[-](svPzAʴwly,vl.6I?SY~3՛֋6]xg,.SRW_yZuCO]9h_۾jer~ҺƽWWD~7W7o_75n(ÈäͧO._5%pO^m}޹|kt497yS-lGGt^2yѽt4˜iNSs֗yu-;_[4ɵɣ7GT/)݉K7uoђ_S|ƍo,l]~?9qeM|j\ZsU]Ү-N4fK}ꫦ˯^1ycs-u}MZtbC ԱFaLܜ^vQn2Եc[cqV-FT\ٴ-8\TQ¿/¿/¿/~W~ۄ% o8.?[{_և |ɀCwɯ^ wd/0( ( ށ w 30 wF(,E G |/7ǁխ2}8 ؉ VX; op W ; ;# pz2 _ T8 Vcu何ag0lݣͅp%_D2\ډdy{w*v3QYNoӝ^\NwԹ{N/y(5n/bkI;oE)ɛ}ZG?P#vHֆ϶ϴz^o0lln.OI*:ت(ITŹŅ8o9xs̝WKܱ#v矲rx_i~-GZǛgN6/lovn||;}_qq9]?粞Srgh%RL[4]l3i6Nemt8ٍ毮4ҝQ97N7on^;#w6scF̚p呥ݸ6lgmM_;Z~Cks48{l)^:rB XRE\EcZ.s8::5_֗ݺ/VCj哫VGϟ asuVR^?R8[7G^saNY;i{Z;nh{R*\zҹsO]VLsÆa}܌Gc~O޽lwVw7{iwe?~߸k-Fq̛EZL?/k0l?86tno}Z[$WySn9u_gggzY찻k׀16kD\Bl x0 D )s( WAuWezfjg{g|}ߩX*:~ݴSIUQ \_dUKKss%RUSRRiZPsIG|9f]^N#~?X4E:l_P)yQ8Km$?j Tһљ*ބ BZq],hl.֥ ]\]BYi:IKKm[2ioZOxDž;O}v}͐_aޭE97;GV{,1NE/WTƼ鄦b䜦o#m2Jaxcif B S‚Z[5E()3uz!CO I}xDm]5pc(?0BpN݋ 8ikؔYTff3KM^K XX݃K͵5/cL]?/j}M1:Dp!Cgui4quu?n DVZgˠ[~pk(ڋ38ѱlM*s؇}hhʓ ЭO;8AS[G!qE5J/7Z:nzl}P˼!q躗5ms]y%IU%Ds|~CWu)*6z*}π\ 4 MAI7xzCׯ\93uF~-BtD-WVjA[C61CzpÔ; Vh,f0%Q}%hpp3$LTv0̛Z.5XG~!a)]#\y9KOTÏC˜qT#j崡6{Ic,%ǞM2srʣ8.vOYj$r_-ЈZ*bTJP6g {즩;nlZZ/ŕ-7ԛC{Skme8wvo%h(Wʆ}Av_c%5ApOK}%YZ:bxCO vȱ3H B(..{3Cqopn|{0q;Fh5q B-%6_nl,OY.SI7|zC WV p|SM(aPxw;_ίw_ѷO^?yWO.^8HcH xLP3l^ tK4)|zІm~9?:J[)d.5pJٖdWy]?;2Gw}?*13NJDEZjJMv]b/xrA0USݖ[B3NR ]OPL(ruNRC%FUTi0]dTf\eGUZ K1ė|;NNdɜQFϛ;5Kz2\zΞ?e#T,LGQcmUwyqB*{լr4vR mLf3bs wf3,*NnPǃު?zneRʊ}WCD[Xt\}6M M5p4vg,zq}]ClR momQ6;QrdXt$ Lz,9cS:.H6eؗyfyٳ4WٻbƢٙϸ8[M[/vRL5 ǬlF}ϳĠ_Z ե%!O}aP4b1-DlU*l}wW ehhͥ2,2_zhYbumԀ1hl)W1dBaq m 4DNZ6 ի[VYFkffZ{mWbt Ә Нbюʯ^3i)e;ml˘NkCr:xcųlFgȍr-*1p8Ξų3(/8NMU6^ko^oh8RQ⚞%:pS60 dNӭeqv.B3KN,?RPey{/OmYsQ e%gJV#I0TyY湟 BFu},vh QQˆflYbF\ B7SAk 3E?xyZbALE^JIOVC딙J,3~ ۵,vGݾоqr g2rﴱw}к~uо)PϊB,k4(Lhy#r#V1o|.RpZ5flGdgX]g\!k3퍸֬k7]ۂaG-ٻ9}QY6u(1,%gKW%)6L!Qi҉\OU]pmVf%Op HQPw4hbopSRs~6 )w./X xref 0 22 0000000000 65535 f 0000056710 00000 n 0000056655 00000 n 0000000016 00000 n 0000056797 00000 n 0000056926 00000 n 0000000358 00000 n 0000000524 00000 n 0000023625 00000 n 0000023762 00000 n 0000024357 00000 n 0000024520 00000 n 0000024829 00000 n 0000000286 00000 n 0000001476 00000 n 0000001616 00000 n 0000002029 00000 n 0000002207 00000 n 0000002521 00000 n 0000056838 00000 n 0000001436 00000 n 0000001956 00000 n %%EOF {file_path: D:\\Patrick\\Study\\PyCharmProjects\\AgentStudy\\LangChain\\进阶RAG\\LlamaIndex\\图文类型数据处理\\L1SimpleDirectoryReader VectorStoreIndex\\..\\file\\公司季度财报.pdf, file_name: 公司季度财报.pdf, file_type: application/pdf, file_size: 57574, creation_date: 2026-08-03, last_modified_date: 2026-07-31} Process finished with exit code 0四. 解决方案同时安装 llama-index-readers 和 pypdf 依赖1. 结果展示 公司季度财报 以下是我们在 2026 年第三季度的详细财务表现 部门 收入万元 成本万元 利润万元 研发部 0 500 -500 销售部 2000 800 1200 产品部 500 200 300 总结来看销售部表现最为亮眼 {page_label: 1, file_name: 公司季度财报.pdf, file_path: D:\\Patrick\\Study\\PyCharmProjects\\AgentStudy\\LangChain\\进阶RAG\\LlamaIndex\\图文类型数据处理\\L1SimpleDirectoryReader VectorStoreIndex\\..\\file\\公司季度财报.pdf, file_type: application/pdf, file_size: 57574, creation_date: 2026-08-03, last_modified_date: 2026-07-31}