o
    Fzc                     @   sL   d dl Z d dlmZ d dlmZ d dlmZmZ e dZ	G dd dZ
dS )    N)BytesIO)pypdf)getFilepisaTempFileZ	xhtml2pdfc                   @   sN   e Zd ZdddZdddZeZdd Zd	d
 Zdd ZdddZ	e	Z
e	ZdS )pisaPDFc                 C   s   || _ g | _d S N)capacityfiles)selfr	    r   /xhtml2pdf/pdf.py__init__   s   
zpisaPDF.__init__Nc                 C   s.   t ||}| }|r| jt| d S d S r   )r   getFileContentr
   appendr   )r   urlZbasepathobjdatar   r   r   
addFromURI   s
   
zpisaPDF.addFromURIc                 C   s(   t |dr| j| d S | | d S Nread)hasattrr
   r   r   )r   fr   r   r   addFromFile&   s   
zpisaPDF.addFromFilec                 C   s.   t | | jd }|r| j| d S d S N)r	   )r   encoder	   r   r
   r   )r   r   r   r   r   r   addFromString,   s   zpisaPDF.addFromStringc                 C   s"   t |jdr| j|j d S d S r   )r   destr
   r   )r   docr   r   r   addDocument1   s   zpisaPDF.addDocumentc                 C   sv   t  }| jD ]}t |}tt|jD ]
}||j|  qq|d ur,|| |S t	| j
d}|| | S r   )r   Z	PdfWriterr
   Z	PdfReaderrangelenZpagesZadd_pagewriter   r	   getvalue)r   fileoutputZpdffileZpdfZ
pageNumberoutr   r   r   join5   s   



zpisaPDF.join)r   r   )__name__
__module____qualname__r   r   ZaddFromFileNamer   r   r   r'   r#   __str__r   r   r   r   r      s    


r   )loggingior   Zxhtml2pdf.utilr   Zxhtml2pdf.filesr   r   	getLoggerlogr   r   r   r   r   <module>   s   
