
    @`zh                        S SK Jr  S SKJr  S SKJr  S SKJrJr  S SK	J	r	J
r
  S SK	J	r	J
r
  S SKrS SKrS SKrS SKrS SKr\R                   R#                  \R                   R%                  \5      5      r\R                   R+                  \S5      r\R                   R+                  \S5      r\R                   R+                  \S	5      r\R2                  " \" S
\5      5        \R2                  " \" S\5      5        \R                   R5                  \5      (       a   \R                   R5                  \5      (       d  \" S5      eS rS rSS jrSS jrS r g)    )canvas)
pdfmetrics)TTFont)	PdfReader	PdfWriter)datetime	timedeltaNz../assets/fontszBCASans-Bold.ttfzBCASans-Regular.ttfBoldRegularz5Font Poppins tidak ditemukan di path yang ditentukan.c                     SR                  [        R                  " SSS95      n S[        R                  " SS5       3n[        R
                  " 5       nU[        SS	9-
  R                  S
5      R                  5       nXU4$ N 
1234567890
   kz1/   2   Z   )daysz%B %Y	joinrandomchoicesrandintr   nowr	   strftimeupperrekeninghalamanr   periodes       .D:\python\billing_app_python\utils\pdf_bbca.pygenerate_random_bbca_datar$      l    wwv~~lb9:H6>>!R()*G
,,.CYB''11':@@BGg%%    c                     SR                  [        R                  " SSS95      n S[        R                  " SS5       3n[        R
                  " 5       nU[        SS	9-
  R                  S
5      R                  5       nXU4$ r   r   r   s       r#   generate_random_ocbc_datar(   &   r%   r&   c                     U R                  5       nUR                  X5        UR                  XE5        UR                  U5        UR	                  U5        U R                  U5        g )N)	beginTextsetTextOriginsetFontsetCharSpacetextLinedrawText)cxytext	font_name	font_size
char_spacets           r#   draw_string_with_charspacer8   -   sH    	AOOAIIi#NN:JJtJJqMr&   c                 ,   [         R                  " X4U5      [        U5      S-
  U-  -   nU R                  5       nUR	                  XS-  -
  U5        UR                  XE5        UR                  U5        UR                  U5        U R                  U5        g )Nr      )	r   stringWidthlenr*   r+   r,   r-   r.   r/   )	r0   r1   r2   r3   r4   r5   r6   widthr7   s	            r#   "draw_centred_string_with_charspacer>   5   st    ""4I>#d)A+zAYYE	AOOAaK#IIi#NN:JJtJJqMr&   c                 
   [        5       u  p4n[        R                  R                  [        R                  R	                  [        R                  R                  [        5      5      S5      n[        R                  " USS9  [        R                  R                  US[        R                  " 5       R                   S35      n[        R                  " U5      nUR                  SS5        [        USS	U R                  S
S5      SSS5        UR                  SS5        U S   n	U S   n
U S   nU S   nU S   nU S   nU S   nU S   nU S   n[         R"                  " 5       nSR                  [$        R&                  " SSS95      n[$        R(                  " SS5      nSU 3n/ SQn[+        SS5       Vs/ s H  nUR,                  U-
  S-
  S-  S-   PM     nn[+        SS5       Vs/ s H4  nUR,                  U-
  S-
  S :  a  UR.                  OUR.                  S-
  PM6     nn[$        R(                  " S S!5      nUU   nUU   n[!        UUS5      n[0        R2                  " UU5      S   n[!        UUU5      nUUR,                     R5                  5        S"UR.                   3n S#n![7        UU!S$USS5        [7        UU!S%USS5        [7        UU!S&U SS5        [7        UU!S'S(SS5        UR                  S)S5        UR                  SS*5        [7        US+S,U	SS5        UR                  SS5        S+n"S-n#Sn$S n%U%S-   n%[7        UU"U#U$U%-  -
  U
SS5        [9        S.U#S/U$S0U%S1U$U%-  5        U%S-   n%[7        UU"U#U$U%-  -
  USS5        [9        S2U#S/U$S0U%S1U$U%-  5        U(       a0  U%S-   n%[7        UU"U#U$U%-  -
  USS5        [9        S3U#S/U$S0U%S1U$U%-  5        Sn&U(       a  U(       a	  US4-   U-   n&OU(       a  Un&O	U(       a  Un&U&(       a0  U%S-   n%[7        UU"U#U$U%-  -
  U&SS5        [9        S5U#S/U$S0U%S1U$U%-  5        U%S-   n%[7        UU"U#U$U%-  -
  US"-   U-   SS5        [9        S6U#S/U$S0U%S1U$U%-  5        U%S-   n%[7        UU"U#U$U%-  -
  S7SS5        [9        S8U#S/U$S0U%S1U$U%-  5        UR;                  5         [=        U5      n'[=        U5      n([?        5       n)U'R@                  S    n*U*RC                  U(R@                  S    5        U)RE                  U*5        [G        US95       n+U)RI                  U+5        S S S 5        g s  snf s  snf ! , (       d  f       g = f):Nz../static/tmpT)exist_oktemp_overlay_z.pdfr
      i,  i  judulr   ffffff?   cabangnamaalamat1alamat2kelkeckodposkota_kabprovinsir   r   r   r   r   z1 / )r   JanuariFebruariMaretAprilMeiJuniJuliAgustus	SeptemberOktoberNovemberDesember      r   r:    i  i  i  i  i  IDRr         i  i  zcek nama batas_adr:zjarak:zbaris:zjarak * baris:zcek alamat1 batas_adr:zcek alamat2 batas_adr:z, zcek kel_kec batas_adr:zcek kota_kab batas_adr:	INDONESIAzcek negara batas_adr:wb)%r$   ospathr   dirnameabspath__file__makedirsuuiduuid4hexr   Canvasr,   r>   getr   r   r   r   r   rangemonthyearcalendar
monthranger   r8   printsaver   r   pages
merge_pageadd_pageopenwrite),datatemplate_pathoutput_pathr    r!   r"   TEMP_DIRpacket_pathr0   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r   norekhalaman_totalhalaman_str
bulan_indoi
bulan_list
tahun_listidxbulan_targettahun_targetawal
akhir_hariakhirperiode_strbatas_norek
batas_kiri	batas_adrjarakbariskel_kec
backgroundoverlaywriterpagefs,                                               r#   generate_bbca_pdfr   >   sX   !:!<Hwww||BGGOOBGGOOH,EFXHKK4('',,x=9I9I8J$)OPKk"A IIfb&q#sDHHWb4I6SUWZ[ IIfa(^F<D9oG9oG
u+C
u+C(^FJHJH
,,.CGGFNN<267ENN1b)M(KJ
 9>aD1399q=1$*Q.JDPUVWYZP[\P[1cii!ma/14#((#((Q,FP[J\ ..A
Cc?Lc?L L,2D$$\<@CJ\<<E

+1134Adii[AKKq+sE61Eq+sKKq+sKKq+sE61EIIiIIfaq"c661= IIfaJIEEAIEq*i%%-.GvWXY	
HeXuN^`ehm`mnAIEq*i%%-.GRXZ[\	
"Ix%Qachkpcpq	"1j)eem2KWV\^_`&	8UHeUeglotgtu G
s*s"		 	"1j)eem2KWV\^_`&	8UHeUeglotgtuAIEq*i%%-.GTWZ`I`bhjkl	
#Y%5RbdilqdqrAIEq*i%%-.GV\^_`	
!9hxP`bgjobop FFH=)J$G[FADOOGMM!$%
OOD	k4	 AQ 
!	 e E\b 
!	 s   1"T&#;T+T00
T>)rD   )!reportlab.pdfgenr   reportlab.pdfbaser   reportlab.pdfbase.ttfontsr   PyPDF2r   r   r   r	   r   rc   ri   rq   tempfilerd   re   rf   rg   BASE_DIRr   FONT_DIRFONT_BOLD_PATHFONT_REGULAR_PATHregisterFontisfileFileNotFoundErrorr$   r(   r8   r>   r    r&   r#   <module>r      s   # ( , ' ( (  	    77??277??84577<<"34 h(:;GGLL+@A    v~6 7 
  y*;< =	ww~~n%%RWW^^<M-N-N
S
TT&&xr&   