feat: extraction OGC et génération de PDFs propres
Pipeline complet pour extraire les données structurées des fiches OGC scannées (recueil praticien conseil + concertation) et générer des PDFs propres et lisibles à partir des JSON extraits. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
99
output/pdf_propres_ocg/OGC 69 - propre.pdf
Normal file
99
output/pdf_propres_ocg/OGC 69 - propre.pdf
Normal file
@@ -0,0 +1,99 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 4 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Contents 11 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 9 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260318161809+01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260318161809+01'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 5 0 R 6 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4351
|
||||
>>
|
||||
stream
|
||||
Gb"/+>Beg[&q9SY^sgkO2`,CTamP?B.C!(6+uqgB;tkj*ku9[S322XSs8<Emi^30EP"t)04aYVQ!^?rH!'\U8"qV*Xn;!rlk:;47]L?J:#pL)>4s7^*Nc$Msq"Edt$-?s<mP-?(5X?YXT/-]/!uNP5qr%Z]+Jr"LAd&WA'WLe^Cb5uW)WHh\I!^oL?VcF>@s!":#T6?kK8VH&NR;i1HoIX%T[>iC1EG7GL6M-B)I?dqjMSUYrAm4TMtnG$HAo=HqX3qBgMbL,7s+VKH<"c&<.>:*WmhQaUOGMpaRc7b,kO7FEL=-J9&7g"1F+7BJ96Rol.tSEiu%0lnN'r%]A5A2nK+h#Qr!.6q-o?OpLlCo7.KGb]gMD9HCeqsnSYU7k@uN\M8t#_&<[RI/D2](1-sZ*^:B:h,\XH/N9<:U_D4Rkn8Z3CD4i016*59u/3^/39J[;,A6ot)jN3MiW/"Noj[clrBW*HVOf;0IBuLggk*D=#,%18jK<$C4AV3QOE%mNlJmJ;'\Ob1[PsA]+:q`!#<6\>u]U2quhS')XHo%-"#K-0!/)B/^%k/<$`-Kj<O4TSrnSD6lc56cB:b6?mZ7tnRN+dF'UNi,uHT?`IpPL<0m2Zi[3)EM*YVSu!-miAV*^@KuO81>$hja[Ns)YK3$8AhR4psM<Uk('Kd7aSnI?"\rZ*!3=W+q'-S;jq09u4UrUtMtCfG&B$mGY\qij#-un`1VU3;cj%<.GGU,@3N6%!_/e7mq+5K$*nT#-V@m`Su<O>fmB!`SMuedlpa=#l4Runlm1pqe_5M^SFT6:Js$1[pTssZ<a9<`M^Cs[TT`J>,K<bS2t!\H0`H4"H4'a$me!Rd;$#E8:t+#?OjM0REaSUI/RYZm[Aqm0UYh*Jl$4$A5f\#aT_sMT?X<f9u4X#BA!8UfG&B$ONH(n_C(4d:iBhm0bqF*N?)laFHLCe.UIVYa&P#5f?QS=JJU#_qH::,H:#NaMH,DW0UHBG8-^W(>ZU^U(cfH)epRjo6B)_dF&.20B7@t;Eo1B[;@8)VnEIlL;"bu)^Jp=aaN**-Ko!OB#N4pq_fqq\5X7Uu-K+p-i,;Yq$]Q(b\4FY[68fCr#j;>D*[[+ZC"$Y31>8g0r1Tuj:Kcln+n>tPk&#bq4;--J-mHn36\Q?O:"k^\?B[Nop%-#Ai%WN/jrMA36XjRBd5'0*N+NXp(=&UdNpp3BV\NLUb+b<n17Qa):(G7#J69'seS29JJ$t@RWTWL)I\Ei9J3Aq/"8C/rH6G[D<gWbcdGn&q1+eAj/;JAP)E@D(+.^2P@r?G#gt^Xu!DdUSS1$>_BF@H.Qo6>r`WA%+;87Z+JSk8UB"Rl/][DBp+deZXfK'^9a_su]U3c6c?7]h.-!8KeT"*$g\$5]_?rFlB0e>F.csBCT0L1X^,M;Q<bQ,>n*b1<M,.T(94%?Gko6;,G@T!1e0rrdRHUh``"o2XUPZ#\21aj#fOb[>>\&fdI%\]p8)Vn(,G-e&7"oDQN-W)P.&?0k>YZfM\QH^Dt!/&b/`eSW(q*eJt9:)Xa=L30EF+'!r2Z1'Vs)LRQAD/Dje^Musr:mJ(esT0Dm?@Ne$(?&h1an)JhTR-!Bc7TbhRfmlHJfZ-:9:ogghAk+GO*d?AO9V^IIbH3b1@$+9CXhIN5Qo<l\R\rN'&Y]Oet$*;ul4^0?NrJPn*>plEI_^(jG^ZM.(1Vg6WgUU39S`Q&+0e2"'S<&kQkqg=]HQar(..d+IJQ:`IMK:`HGb&8Xp&;aN1j#d,tKdl^!3mAgWH)j$iLO(4Xi^WCdAh09pqFr]=[*8PWTgMg+'b1M[\ba=A>9O!K+9H/rm<gRe,fdiPbJ5RQNU7WN>>YI;Y7_'Ct'f(4VFY\E!\,_aK5c6qZU\_;/)8Z.XK#h#l.2\F+m$[dD.9K^AC^DUo(G$P[fn*/,/f9s2ROo&8-J&D/$^$QS_7F#^L2f[GPss:.$T"@d7DZQC@5,BP.gji2"*:]1MCpB`W='JRH'1e9\mSsNCl1%VeqG*H9oTIX(^`QDe"VB/lj6R\)NtDK-;4)*Q9+3B)AdCas!+*@IA-D*KuB=I4F^A4=FYM@:5OTt=!52X;*r7nBm+s4M\jPNc#0U(Kt8!j*nWpc@9YmPK0d$Q]3;9p]M@pR8H%dX0<#Mo#\p/1hTX?bmWFG$fq?LX!*diD0\?K"g:>On>(pZDeu@;:;_J9CeSj1#H"9!c(%:k3q/lZ3\Fa%_3L))&YfmK2nG=X7gKm1I!q/e!$Pck+m,bg$ZL+sM.VirQ<i>=BSpQUbEuj"kN6Tj%:mP<%/7*bABlR7*MH.g1k+<Y.*0$D/"m^cZ\HoK$;>*p)1gYMq.Tkcaa"DP=c*iBgd7\q7#<YN<;gLjWlAnIBA)Ie?dXA/bR)]I?b9:%$BJ=+*,uWl6_@=,*2RKNr!&^.Mc8#K@e:E`rHW^L:c.FfUZIT*Mh1j2f:Vec/38JB3S=;O=GGVFPH$!dBT:&^VLGl=)X&/$G1?^$e%[c'E[OEr/a*LZN?u-P/P_7?edrr/!0lXPt0lWEPZ!c\\S#>[*#Zr#iJhX&[3%(E!:_(d-)k3$4Tm<7%#>^3Khn3Z^3%Qj077VX8DqbD86$@B(>JTf-)te=r2pAABI=ddBeE4c/h^QTGN+>O<BhgAKBL4rMY;tqfK>8P/Qh#&`]Zm:06Ms8UL0p`:qD'a@J?r*MOc:uTVZIeW38F@.)nHBK60&57AEI^u`m&!S89qXDG"$N!FNL"9!rL\pr[]I=G:jA+p)YL%aOAgihFt++"uil41O6J'G&U<._+U!%WsG+jU=c8q$f*:AD(&P(6D'ttBr3.qm51a:r+3OjPA.,+FQ@J@Pr[D!"4scG1pbnk_#IN<VV!ida_9tFg-P",?'W+Sm&N_sC>-$e)ZHp8YM]j"O\s^ROrehS]'e5o[L3B$qYnQL0QR^u>c=4u[-)Eb(pZ]hQF?3=EK-K@eJl'5Z@RV[3@_VnfGb&aW%?Y8*gcD.?dT!cE>Fu."nmhW?%7PHp#buP#2[DM_h.Os*Pp?Zd*U#XpEESEeZ5u)Tj>&H>qC[0fHqp%:hN^4J/UQ:dEW+Wk;l6u]c::%o&hbeKB^^GX'*>9+fnbK(hZ##<L?%Jptnb<#r.'67W^$$X_H$PLfUPZ#ZSB*D0.6N7]/#9FXjktFXeP<V\0!L^K.6:7p;rlK7g;TWFG9tX\L1\kYt$Y:?C%6)kJOM8jFH?e-FFpiGS=_WR[u$(n.one1@C%=N`N%CJGPIK/<T\"@:NA6)5@K=>?NH4>`+QqcK6+gjRDkj'i52`&guHP3GecZt*SdA@%ESMpDci2?m(qL7fBAr!*u4BD+`2_H/hh5h+pCjI*6T:_(Hls-]PtDtK)*TpY9P1pWh-@(o:hW5Jl*K/)f/>VO`1p(n"SqMP8m_:T,(]XCjh76`.:A*)UJR/K;2[@r$m<=UP,3?^RNIm&=IC$2,h2s^a[9C@/e`bkmI8"N\uACL'b4S7"ik2I00Us&9(i]9`FT^f4pj6>WN3gkuTpOfN_m+.\tSpl1bn*B4[E-"3oTPf/IbL?":dHAD`&pag9Ssb\KB-uQulO!ArI!dgmH"T2;mFh84A:-9OH$_1C5Gmib;u;8I#/B7KKAV(!i;:K\RMUT_-gE8`P^gLtfr/!n-!Rl79(nb#8M"*Y-2Z5J-mhRK&VS&N=<`]\P'Q8\$=EO/a)B8b]b1:$[l[tP`'M:TIIEdM^H%po&5OJke-`+)n'Qs`&q5\s7sRr?VtPfc>s$A(!';+MC[>\NjOa&'-%9U"YNNp_>Kbd,;)TZPD:uR0?qs6N?u!gI_Ge5#k+Oo<@eDfUGr\N!kd4sU]d^ubZeNL3`I*fLj_H$fA?gN.@?fT)^22G)qPAUkc"L#J6AUsf:2VCJo4>P&,A0+0o(491^[Am'QQ5I;G1ZOY):Ks?qGUS1]TsN!MGIkB#4qY&H[dFm0B]`=J,Ap5-YeScOj^bFZ/<ps%JRUuhbfW(DR'2N:Nq_PKmL)J%o83YiKmELpP'#82CdF#g=3162^An$%96W^b,[\b#qe"U8C&5;5K0M:f<o'hS!CW&s*/5$^_<Q*n.@d'+tFA_d`Yj`g-]2,r?I<WBSq8,]X\rnqjS(PAK/W1$-SYC29nO^nH8Y%B$%)=^Kf#JI(@sUN?1"D\MAL%,tF`p)%90D6a=k.!f(s@HCq53^]BF4LAs[+iLA<a^QIuCP@#A;%KM(69DFB$&'O$Trl^;f2+k16@Qe)R-gS=U<Nd=+iL>5:ROT)tY\[9EJ![:YR*pE1;R28i04sh&q.?+jl#:ZNUZ0VA4RZ):k:YGjP;MSpWjL$4q(b]Dck-C-gW`p9o523sA[HR9k)o6;Sbs9b;sf\~>endstream
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1817
|
||||
>>
|
||||
stream
|
||||
Gau`Sa`?-,%))NgE3h['d+g)3jt)_d<*!4kP:g^X-$P6)bU/V9n)pCTR'\9^:=[jYatAhWYrk.A6&0:S*:lD?LgI4Ir(i(fQW>&GI*8G<H[<:b\N=e7:!^:25P.=#QD#&gSqm%_[Z.fPT"os,)hj[g#$kCNHOa8$4O4@>gOja9d-UG'O0@GIXY*Y@T0AEZmaBg3,J#;4FXH]PW)?Mk;muB$-]t[V.5(1k>^N0:b.9^1eMg\15qg5Y&b-\8VP7D,Q5A3a7m3scH+h)N6oI]`JQ%FcV(QVR]b-O*QR3bCcq%e?p>#Ae?/,%`808-ioW:P!4q_$1oEr?$g]V#:SW1F4q1M!7gN&V=nmN[/U/_JIVcO]?@`W&K@_2lp$1N9eoOSuR1Pl!`D:tWK\R<^,RQ7fP0Bp0CNJOXH'U:.gB#hNuY%]7U8l(j%Q+0DNerit/r)Dqg6I!0r'P/V*mJ/Y>79QTLQ#N9bEskkLDT*CDVR*'-?ggW696+ksTWC]67Wf%WTdiZ0l^[MiIo/hOP;++L9l.o-VRV6>\4FQ(SV"U+2Wgk(C1)*dS>3RcK@&\HLg5!\GqOS;]"FPn%Y,gP*R!dR73.%/OS"4?43kiP=S,o`')A[Y_.R&?KEMr7[X"Qt(C@4%\A:G2D%;=Ub-7T4m*3NBqM`l\6BkuEjD:PK9rcWdF`a03_#dKa`1=</$0\I'='n1ncRaAo$(e$Z.dA+>cuW[j)'DMUgW?fO6qa!jm5`.p@](\`HMPn"b?tN+Z,M(!JD,%Z_6k5,o^s%V*81Z=IB$3:FB9qd11r9%[\[GEh"@!$C.UigeLd8B:KdG<N1!@e.n\rWg`UO<S$=FJAf3tU"*XPU`+FWOUL>_MN1:Db)7e':WFVSs.O]'I$X)pY:'mZnPc.jD&5[/6.iRi1BXAq):;O;`0@SFH!DS4(NClX"bK,%/ILj*MLA[`e"_,[>fFOYo`c!C6Yc\u_gp'k9ju"E#//h2dq3.KmACip0!sbahXVn]>6"RYpRoBgV`n7qMkYr?*pm*[P>)Ps-IcCLt9">*T%6gG2QH:<LLc^[J:8H[5T@[`ITb*M/U-a$WVF=5+;tFGHcF?M,*902JFB:9o6sZ7d\+WWT1LWn.%ar&<162l/?<MBPpsFMEF1bkIg0it]JGP3_R$23>-h>KS,grD>'?-7)bk=[1#&Ako5;E>>/"i\r3PSR/!7*e74s51[@'!Wq!$!)S<N&'A-lt'JR\`E+CT1OB#7\D64NI)BJ^>C<D[*7Ubof8-)E/#p%6=]2_UutR.FL!?k@X5&c*EO7R^TUq?g7C&OV)i#di98'C*li@-sWEBcrWiKo*l8:Qk)ll94f`lROQ1SprTesY\)`[f$:H%jGfRI#DGLJ>'*Wj^,BJd[ETuA9XHcmP!WqJ@W8j[13h$BR?8NI(.tVP#PIkr@+Qh%#laO.R55_Ya)75@5FC/Gj@D$t&Y$2,koeBoDG=q<J)g!%]=2%Y40\k`IZj<Z@P91*^fsnAo8ITd\i(aZ.'Q4&m=F7^A\uf\@lmlX7M`GTnE@.p3ao5]XS$sL>>aH7VUfgt>L21DKMbH#1\cn2qL0"u]mkFO$uO$g"BalJ/XaF!lkQ+sA;9/.GBN*Ad53/Hjl$EYoG:#!AnU']p%g84@aAl0rY!D[4X[,^8&mR^d'K5rn:/ct.3&Y8`7k(>EOa?ZMdXKci/(_O4PgdCfSKglrh^KY6.E]eir5ei+76!L1<^,d',"u&$ND\$L[B4\M%;r74BU>KK0:!mNkA0_;#[)&G9$P]+2>O:JH!66+7oodr[p,O"-:kLhrt[+S50%eaDeB-~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 12
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000112 00000 n
|
||||
0000000219 00000 n
|
||||
0000000331 00000 n
|
||||
0000000446 00000 n
|
||||
0000000650 00000 n
|
||||
0000000854 00000 n
|
||||
0000000922 00000 n
|
||||
0000001202 00000 n
|
||||
0000001267 00000 n
|
||||
0000005710 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<4c9f527f4d17306914f49ab510ed74e2><4c9f527f4d17306914f49ab510ed74e2>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 8 0 R
|
||||
/Root 7 0 R
|
||||
/Size 12
|
||||
>>
|
||||
startxref
|
||||
7619
|
||||
%%EOF
|
||||
Reference in New Issue
Block a user