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 97 - propre.pdf
Normal file
99
output/pdf_propres_ocg/OGC 97 - 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 4314
|
||||
>>
|
||||
stream
|
||||
Gb"/+>BAOW(4Q"]^sglj=jskm,eHjTjM]cW*Cj!g4'VGFOm,g_=`QnZg]%(5!/V(PJg0G_l0Ri68HjMRc6;]9g^'&c%"F*0GQ*9BO&L0"L*/h1oFVZVE&>6tQd_-O-`#tJGegiI!_%qO6I$GG%UcBrc)23lJXA`3QmW`4U-su2jCh+)ckseCi9:>)I5;dH?)!g87`]O*\@B7@_b2i#*.579?)-?`F>pq$NWu9%>;USK4-<n,TC,`/H<e[D:!rQKK>o!Nm_AcC9g>E;?dW#%GYn?%r2EUZ`fBmAXcjllHBU;s36-#&;ClrTJ&@A0kTeLlN)&h;mhs/Z]:#e,Vf]Q,UhI2(:\QCc&*\JH64Z.7*8R:@f@ansk3LP[h/$`Y`HkO_Xn3q@%r"F&0eJT2[m\CRD:87V@J2-=Ml5akHn.]hcHme`ghkOX.*]3ICR(`S:FdmCbQNc*OMik63"ll50MApG$+C"rFb_Y**Qfn7\:W8bdL&nU/:Ve_'d]#j1+A+SV@m"8SUF`qZ7LDriEC_-=!P\_Su67@4h;ZIrr=VGl+;lDi*pZumT*\7jUs!Y6,Ioq?'.(@gWR^7.\8@'`1^:XA[49*"AENRRD[]971XDF5OK4][[VUj309f-#%?\^Sl8>B)En'#Im4am1k'cQFT(sU8h.X''+.k^KJAHsCPaAF_!^s,oJO)US/ugj:lb.XQEY'?R)LnS(($I"!PdN!2o@`nojaTKU`HB5p7;UFK"oU&Snf\.]A<jV)R?;b]qr^>9>"SY9UAD_i.]g=[!C=0WY[rcTM5@Mo6Rmfd-Psj'HY[2c"A!"$PM,DZL-Yp:4B[$H3//U)+/K1r"S4o(11"E<YR9QD@oB7ld]0B<:BL#0F#[;p7C8fD[4fc9;2niVUVFbZs#3;oW)W1J\g^9.k4uV0JF#?4ol9SN<7sLZ8JrWM..P%N@ZBQ_s85oiB#-tkls;q<aU$V3[9QrX&!sS7#\F#eh*)gd."4gQf<)1V-+J[K@3/sr\R*)E0=SBKMB?o`U)<B0F1f`ENhP6=MC%E@6/cr#niL&#Knc#A-iSt%mhEPE9\#pHh@*b8hV<[TE,_qs"jG>GNqMi`]u0(JXhf(6o"nV7WEqb-!8lC)6s\&.i!T5A_'Ki#=OBBK3<I=U54=fh?ZQgq=RPr6t):&,S/Pg'tX6qi+-dHkt(E;@JVE1ZHHpHknn"gML,`oE+P(!8c"nk?,in=R0[i&dq2>J`JTIRZ#\H1Z+0RH2-XUBUPo#%W\+kn3!KoK6PgZZ&.McJFrNl2I=8-&.0$Lif"l7^1o,PA!cs@3e`g]E@$_$Z\KQ$ogp!P*-l$4FTG/4Na;0qf'1F*,o]b1DrA?aeJcd0`=ZOPD9!]3i-j3sA%n/,e29Z^"k?'CmHF$mZI2FZ;@=f=3!KUnI-8Cl18"Usc4:<r2B/j9M0iK?]U:,+GH!A)E\/1>Qd"tnrDEg0KP9_WlG![Xcm6uX_&K#d!2L:i4!qQu8)PQ-GaC.#Cg/O0t"sHQad=k-)97k]cSnZm%+Up+bCMS;WVn$01[;!3O7DPM&F'@d;oX!Ms?1tld'/@s"ku)qVqNi<(hUX`/l)[8#h^u\6NeI\VcnLhHA0t#L,/AQ7'he9`6d1D[f))GTF89]<Y>ZdT7H(/#m#khm&A&ZQKo,*?b)"X_GF"U!=?&*R.jJW@msdokj4$-.Q`?7V<QDV]QV,2u-#-e1]PH$Bl=ed_gsOM_AXlI8Xc2eR"-%0#"gsJo"gtV8"2U;q1F30VNSqBI3A*pgf"S`"hgc^&IN7*iKMC%Xkf2ZH[c?SKj62fhfS6/U:r[D&@)d$4@G5JG@G5CZ0OMd&A3\`K"ggl:(]F;]`PqIjH;oY+=K1;X;5`DDL^QHu#BVC_%]V`4OU:C#-qZg[RYHA"_h"feR>-D!caU-1Fi2'fS8U@jl\9s>U\XU[ATHV2YRig_'s&>YAf0^\;cRqqYV>)t;&$)N('`6g\>!Be0JE_nWT^&`S%<$:<YVMIX;_oZbGIh*@,35=DeVm1a&iW,/W0Z7X!^GdBh[B_1KD"Bg$2i:C>?`ks$m,&LI10oV8AR'4?k??o\V`DVo2oi'hL&oPYgmtQJXp\c5+S3:%#)(V7nfU*_<'#\?-h6ae1bHX;:,Tf=C`5ikIS,9.GTIJf:V`[hCU(\S`:e)H8^=?n6O0#($nZ]CnZjX0h6T4uK;t%:ZPErK\J<:[EemcF,gmI("BN?3W%NS5(pj/.3XG_L;hWg+.tZi+#3#WC)T4^"g(l[9Y[p<UFYDqQdfS$SPD-?cNX#@l(M#Pi^I*Mq?kFZoDke`@>G)MpDk?N^bV3Jp"uj>X\CV./Tt_)Y`)3'eF@k@i)c/-LIL%oMXJX".l:QD0eUqrO5<(A)Ie/dQQ,)/7=.MeI\hk1`3U&&h+8D\*W5o%ICMU@1Dq3Zd8t?F_$0Zb:EaE48)!l8S`nRE'n8pVr/FSgtli.SXW3Ne'ch.4?>F9!B'0uLc3QJ<B0W^'`&T##>DjpV^:L)Ytdptb`*g9E\Y.6`if&$#-N/8#-RP^(9BZKF6M,*JB]5M#\:U,3JgIcC3WM/ka_8NcAStmpe%@^(.2TM@@n,\3[r'sh^4SGo$_s]%[Q;3BW+;/6#J:r;RHAI>9,BsVA`SlOt5(Y3Pgg+`*qG.F3#;qaPL%&<8boDRq!,.#`Q,!^drPEARJ&[o3"qqNGahFTad#%DZ*E]?&d;U1<#<B\\!+L<\b\k]%X0u,.cC;+@!\;c86ZKE,uiNO>RW5jQ,QA53M7fme:giU9!UL]?tRWQqdm]_:>snW0\iP=&GL1kg^B'rtU^DhHh[?D5^TU8e4d_1fKUJp6sH>*HQ\p75\+MH?;1/at2k5JN`?Hc0Po`"ZR:0.1T(B1*!pmFq?mMlg!,kKluLp(XRoa.+,CNm><[m5>3"K)B<XN?&)(a4'[e-Z3t-^LbPu-W!k?GSa8,mV\]Ik^$\4<ThONmCh2=Fl5EM)o,H)kZ@V`%\J]P![V$N$:fVVY!\WNb^7kpFZ6HE!^HFu$pN<HjhlM<[M%;<d.Y@=/S\WRGf[.m6pG,^39?KZ+@]M<lBoO;(jME'<n*InQ$f/FI6sJQ3e>2C]nT5])"DBV1?O$(8S2]n+QS:Pu.JOLh]q(0:XtK0p_\'gAVcRr@Zcp+AT!lo-KhTbie08naCM*Ypgg'a/536cbL)PZ]XtjA.XNhGS0.)>!oWgpXH+`t%eEJNi5BUM9hFjE.VZ@:p)BOc4?[4*i/n9@qFHsDW*7gN<>m6fphMlD#kjII,H?:k^]pZ7#:sC8T[B@=gcLS,06S)J.oHj?DA?T/o3\dg5'u]<87C5h?d7Ug)3h7`cOcB-W@XmNDDa^%8M;%&QHpSu-`UG$gQO9+/or11WRu1R%$pp`70aJ\a$AG`J\e(-)MoYn8rEbkp\be7nj-PKZa[KKM@P4WD26eiro(C'GF"&"3Y0U?(%%/[_`UcsGk5t8k)FFuuSOUJ#BFJI+]BE'iBM;a"pTt5AgpAF;,+@/kk@2/"h$h(&rJ=>@mIHj?UAobNVl/T?0'bOsXD:bb;t<S%T$$YZjj:jd!;J^"mA*boIE`Mbs/u%0agI:pf-<l1.U1>+A_T<E=)su(lao``Su71,1qH6\HO>-lK:=+kNm!,E">#K^A?g"b1Xk<*T-A`2--q-q#@?"I)9()ETD*i(q!HV-L%Hcbr5*.^"uIJmG\c3?/q*FEc[Fcr^7aKkIi:WtLg?D3,AGS(d^OHB]%E[8%n4YdX[t_&q2s7&@:2i$4um@"kf0;dW^D_t:j2JJ"<N>q6`5pjmX7"=)Vo7BgVnQ&Y2m26Z?3?69_YQ:cmJlV9>@a8R2M%MhV.HNmeA[RU\R<JkH;$lGqRDq`;UDV4;8_&G$D*?gFU>L?d7'Y`<t`A:1lF:k4A9.@:)p[/pa/hr6J^[oGC1EA[C+,IR_(/SC-V5eJ>43]55*(>c?8Hphcq#QdXnehP361OFW43S2U=.7si22d@PZB>'p*8*8iRTB5u#km[SnHh;NLYf^8N,*aX?Q2eLujZ=iq<IQ!H3qRE2"Zo$Y:Un"_8c.m8jDJ!$`+$0Fc9o3F#M$"Alci4k&F,fYAT/]V?,Q.tVE;pYdQRh^<?Hnb_PA_W`NmEJjq*LdC/;sRa[cqOnWOK89NU@"#6eVJ9boXT_Dfq7.*o(!#!kjri'58MRl.=qbMYpaMZK#CO?Tb-b\NK_k#*hKBHki)bQHcWR<1QmQUW?!RI2c(qR?_*N(8.`$-:?h0B[9/m^8CM]HIC]Zl"62mq.4)/gDlV7JI8%p#Y[2CQ$bCBHjAD>l+D&3i!2==%gNcu8H~>endstream
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1384
|
||||
>>
|
||||
stream
|
||||
Gb!#ZgN)%,&:N/3m$m'r9EPF$H#r@0<QED(@J`sq!?iTi);YFXN^#`9OFj9aZtmuu-H!*D,aO@0p70*Z!l9e`s(MN'HNG"5:nTEd)k`e_6#m(2PM+P**?pp70JDns#ii_j4iZtQ>UF&cD.f5eg8(+5^k=>Y-6Ldk-tA;+&r+S$#)fO+Dm*L)-'ua=h-6Ng0!&>;KM/`?$;n6:.KNZW`L?TZ'<*N+Xia\H=lAD9;eM2>J`JaL5L,.B5N"DR3cZ5V&unfi#DC;*4@q'QZsq9pEJ4,;%bDpjK$Xf1M1,Te7RKEPHT'e!Lf&tqMRk23pinq'h%+huoDnbKECf"C(ZkGs$d&Nq"ZIDZ4Dd1!>?R4pJiA1.KUOF4k?<e0J')?O#Yc2Z\S,/OCpZ0k8ehEYbTdtI<@cO'i7=;MO/ST;[Q9&d8RpE:qg0WC!gc_*MCOf/\I7&/fg7Uc8gpb2>`#<n.D??&kX8sNiuM`,X,LuiVJ$U1Re3?-Bg<*/N0fMn:mU*,^hP_:#]#Odqc"9%:r`Z+*-mR_]>k%FjM6b""DhAC<^>,B*RWN&Dp,/s&j`X1RECu]Y[1SL?_;%)AeQ`+2*'s?]J*`Jd"i/p7q&j$9ips8Z$N\\>RUeq(pdQ(rI):A1N9PTO%IF)LX@Se6@7caNn:\[qjJ$*YuP*sqO,s@`EN7n&%Kck)#m_YMaJL$0=L3bUdAK/Q'e\9D.a8jp2:\WTkB7I^38Ldck8_QiZT&EnS<&-DXkVF8!a"D6M=&X-"O,<bG)-X;kAJUF@,5A%U>`g/]t);_H[8jGpWb5L9CN)7q<c8-+:*n<POc!7<,--&p\D2XGG03WFUX\k9AN8ok$L&nD8[7M4u.,7+&i!B8WkLRl]jJ@&\L@c2CE5XD/[@7'pQcKu:;En@VXn:L_VU!o9S$`(dhZ(KE!S%;a4bY0`nK.J=B:V#[lWM14-eOMXg%Cr-B1-pMh6^,[_"DT6\uY#`$pGhsHt[2_DdpmqIh)3(%/9#L2G$n*bGK)+9Q*W!Si3O\t)^G!K5HM;%6q!`-$idJn@!1u]?+5slLV]7mh"`jC0*5*]r\:]Ud1`rTL7M$0%Ea^X^]n.B8!RD\,QoGMfBP]*/]:jUhA<k.ukYLQ?rV/PPIX:8_^@*cReM'/Z4CSDa1%bSb^,T\=7[tLM]8Wu@o?9$/>.:-UFt,+`%X;N)L==60ja,=Gr*GEs4CublB0,?hq_4&dl(8LfF(jKY0AG=hLRhkBTm7N9WLhJSEc5Q;qHlBoj2QG_0%9;tffn&"k(e@foWil^QDZg%;((pk2f2)(fRTT0aM[^4;;t?XqS:gbWiPf<[<(d/lLl#+BY).#eC'sO[/;nl!RE54f)nK)iF/'Y&9^@7+3F_mmfg('+9~>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
|
||||
0000005673 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<d4dd6d144c93ac18ffd1c2e2aca5df75><d4dd6d144c93ac18ffd1c2e2aca5df75>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 8 0 R
|
||||
/Root 7 0 R
|
||||
/Size 12
|
||||
>>
|
||||
startxref
|
||||
7149
|
||||
%%EOF
|
||||
Reference in New Issue
Block a user