
    azh                        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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S rg)	    )canvas)
pdfmetrics)TTFont)	PdfReader	PdfWriter)datetime	timedeltaNz../assets/fontsc           
         SSK Jn  [        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SS	9n [        U5      nUR                  S   n[!        UR"                  R$                  5      n	[!        UR"                  R&                  5      n
[)        S
U	 SU
 35        [        R                  " XYU
4S	9n[        R                  R	                  [.        S5      n[        R                  R	                  [.        S5      n[0        R2                  " [5        SU5      5        [0        R2                  " [5        SU5      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[6        R8                  " 5       n[;        S5       Vs/ s H  nUR<                  U-
  S-
  S-  S-   PM     nn[;        S5       Vs/ s H4  nUR<                  U-
  S-
  S:  a  UR>                  OUR>                  S-
  PM6     n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[)        SU5        [@        RB                  " SS5      nUU   nUU   nS US! S"[E        U5      S#S   3n[F        RH                  " UU5      S   S! S"US! S"[E        U5      S#S   3n[@        RJ                  " / S$Q5      n US:X  a  [@        RJ                  " / S%Q5      n U S! S&[F        RL                  U    S&U 3n![@        RJ                  " / S'Q5      n"U"S! S&[F        RL                  US-  S-       S&US:  a  UOUS-    3n#[@        RB                  " S(S)5      n$U$ n%[@        RB                  " SS*5      n&U& n'S+n(S,n)S-n*S(n+URO                  SS.5        URQ                  U" S/5      5        URS                  U(S0U5        URO                  SS.5        URQ                  U" S15      5        URS                  S2S3U!5        URS                  S4S3U#5        URO                  SS55        URQ                  U" S65      5        URS                  U(U)U+S-  -
  US&-   U-   5        URS                  U(U)U+S-  -
  US7-   U-   S&-   U-   5        URS                  U(U)U+S-  -
  S85        URO                  SS.5        URQ                  U" S95      5        [@        RB                  " SS5      n,[E        U,5      S:R	                  [@        RT                  " S;S<S=95      -   n-URS                  S>S?U-5        S@[E        [@        RB                  " S(SA5      5      -   S:R	                  [@        RT                  " S;[@        RB                  " SBSC5      S=95      -   n.URS                  SDSEU.5        URO                  SS55        URS                  SFSGUS&-   U-   S&-   U-   S7-   U-   S&-   U-   5        URW                  5         [        U5      n/[        U5      n0[Y        5       n1U/R                  S   n2U2R[                  U0R                  S   5        U1R]                  U25        [_        USH5       n3U1Ra                  U35        S S S 5        [        R                  Rc                  U5      (       a  [        Rd                  " U5        g g ! [*         a2  n[)        SU 35        [        R                  " U[,        S	9n S nAGNOS nAff = fs  snf s  snf s  snf s  snf ! , (       d  f       N= f)INr   )HexColorz../static/tmpT)exist_oktemp_overlay_z.pdf)iJ  iS  )pagesizezTemplate size: z x zError reading template size: zDejaVuSans-Bold.ttfzDejaVuSans.ttfDejaBoldDejacabangnamaalamat1alamat2kelkeckodposkota_kabprovinsi            zBulan List:   z01/02d/)               )r"   r#   r$    )r   r      
   i,  2   &   i  i  gQ%@z#7d034ei  z#9b196eM   iR     gq=
ףp"@z#8f7188z, 	Indonesiaz#707172 
0123456789   )ki  i  C   r(      i  i  (   g     T@wb)3reportlab.lib.colorsr   ospathjoindirnameabspath__file__makedirsuuiduuid4hexr   Canvasr   pagesfloatmediaboxwidthheightprint	ExceptionA4FONT_DIRr   registerFontr   r   nowrangemonthyearrandomrandintstrcalendar
monthrangechoice
month_abbrsetFontsetFillColor
drawStringchoicessaver   
merge_pageadd_pageopenwriteexistsremove)4datatemplate_pathoutput_pathr   TEMP_DIRpacket_pathctemplate_readertemplate_pagetemplate_widthtemplate_heighteFONT_DEJA_BOLD	FONT_DEJAr   r   r   r   r   r   r   r   r   rN   i
bulan_list
tahun_listidxbulan_targettahun_targettanggal_awaltanggal_akhir_strtanggal_tagihantanggal_tagihan_strtanggal_jatuh_tempotanggal_jatuh_tempo_str
poin_totalpoin_strhalaman_totalhalaman_str
batas_kiri	batas_adr
batas_adr2jarak	tigaDigit
no_tagihanid_pelanggan
backgroundoverlaywriterpagefs4                                                       2D:\python\billing_app_python\utils\pdf_republic.pygenerate_republic_pdfr      s   -ww||BGGOOBGGOOH,EFXHKK4('',,x=9I9I8J$)OPK 	kJ7A4#M2'--a0}55;;< 6 6 = =>/s?2CDE MM+0QR WW\\(,ABNX'78IF:~>?F6956 (^F<D9oG9oG
u+C
u+C(^FJHJH ,,.C8=aA1399q=1$*Q.JAPUVWPXYPX1cii!ma/14#((#((Q,FPXJY8=aD1399q=1$*Q.JDPUVWYZP[\P[1cii!ma/14#((#((Q,FP[J\	-$ ..A
Cc?Lc?L c*!C,=bc,B+CDL#..|\J1McRRST`adSeefgjkwgxy{y|g}f~ mm$89O q --5,S183F3F|3T2UUVWcVde !--	2 "5S 98;N;NP\_aPaefOf;g:hhi  {G  JL  {Ljv  R^  ab  Rb  jc  d C(JHNN1b)M"OK JIJEIIj% NN8I&'LLS$'IIj% NN8I&'LLS-.LLc23IIfd NN8I&' LLY2GcMG4KL LLY2HtOh4NQT4TW]4]^LLY2K@IIj% NN8I&'q!$IY"''&..*K"LLJLLc:& V^^B344rwwv~~l^d^l^lmnpq^r?s7ttLLLc<(IIj$LLUGcMG3c9HDtKhVY\\_eef FFH=)J$G[FADOOGMM!$%
OOD	k4	 AQ 
! 
ww~~k""
		+ #  4-aS12MM+348 BYD\v 
!	 s=   A?]( '"^';^,#"^1;^6^;(
^$2'^^$;
_	)reportlab.pdfgenr   reportlab.pdfbaser   reportlab.pdfbase.ttfontsr   PyPDF2r   r   r   r	   rR   r9   r@   rU   r:   r<   r=   r>   BASE_DIRr;   rL   r        r   <module>r      sZ    # ( , ' (  	  77??277??84577<<"34Tr   