o
    oh+                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m	Z	m
Z
 d dlZd dlZd dlZd dlmZ ejejeZejedZd	d
 Zdd ZdS )    )canvas)
pdfmetrics)TTFont)	PdfReader	PdfWriter)datetime	timedeltaN)A4z../assets/fontsc              
   C   s   z$t | }|jd }t|jj}t|jj}td| d|  ||fW S  ty? } ztd|  tW  Y d }~S d }~ww )Nr   zTemplate size: z x zError reading template size: )	r   pagesfloatmediaboxwidthheightprint	Exceptionr	   )template_pathtemplate_readertemplate_pagetemplate_widthtemplate_heighte r   :/var/www/html/billing/billing_app_python/utils/pdf_krom.pyget_template_size   s   

r   c                 C   s  ddl m} tjtjtjtd}tj|dd tj|dt	
 j d}t|}tj||d}tjtd	}tjtd
}	ttd| ttd|	 | d }
ttdddtjddd d }d}d}d}d}|dd ||d |dd|
 |dd| ||d |dd| ||d |dd| |dd| |dd| |  t|}t|}t }|jd }||jd  || t |d }|!| W d    n1 sw   Y  tj"|rt#| d S d S )!Nr   )HexColorz../static/tmpT)exist_oktemp_overlay_z.pdf)pagesizezPoppins-SemiBold.ttfzPoppins-Regular.ttfzPoppins-SemiBoldZPoppinsnama   	    
0123456789   )kZ00000zRp0,00z+Rp0,00z-Rp0,00g      !@z#000000g     1@i@  i'  z#54b84di;  i"  wb)$reportlab.lib.colorsr   ospathjoindirnameabspath__file__makedirsuuiduuid4hexr   r   CanvasFONT_DIRr   registerFontr   strrandomrandintchoicessetFontsetFillColor
drawStringsaver   r   r
   
merge_pageadd_pageopenwriteexistsremove)datar   output_pathr   TEMP_DIRpacket_pathZ	page_sizecZFONT_POPPINS_SEMIBOLDZFONT_POPPINS_REGr   norekZsaldo_sebelumZsaldo_akhirZtotal_pemasukanZtotal_pengeluaran
backgroundoverlaywriterpagefr   r   r   generate_krom_pdf   sN   (

rM   )reportlab.pdfgenr   reportlab.pdfbaser   reportlab.pdfbase.ttfontsr   PyPDF2r   r   r   r   r5   r'   r.   reportlab.lib.pagesizesr	   r(   r*   r+   r,   BASE_DIRr)   r2   r   rM   r   r   r   r   <module>   s    