+
    
‘xjÐ  ã                  ó¶   € ^ RI Ht ^ RIHt ^ RIHtHtHtHtH	t	H
t
 ^ RIHt R R ltR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR# )é    )Úannotations)ÚPath)ÚDocumentElementÚDocumentModelÚElementTypeÚFontSettingsÚ	PageStateÚ	TableData)ÚCoordinateMapperc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "Útests/test_core.pyÚ__annotate__r      s   € ÷ ñ  Tñ ó    c                 óN   € \         P                  ! ^ÈRR^dRR4      p V R8X  g   Q hR# )éÈ   é,  é�  éè  éÐ  N)çš™™™™™É?ç333333Ã?çš™™™™™Ù?çš™™™™™©?)r   Úpdf_to_normalized©Úresults    r   Útest_normalized_coordinatesr#      s=   € Ü×/Ò/ØØØØØØó€Fð ð ô ð ò r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   "   s   € ÷ ñ  ñ r   c                 óN   € \         P                  ! R RRRRR4      p V R8X  g   Q hR# )r   r   r   r   r   r   N)r   r   r   éd   )r   Únormalized_to_pdfr!   s    r   Útest_normalized_to_pdfr(   "   s=   € Ü×/Ò/ØØØØØØó€Fð ð ô ð ò r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   4   s   € ÷ ñ ¸$ñ r   c                 ó"  € Rp \         P                  ! . V O^dN^2NRNRN5!  p\         P                  ! . VO^dN^2NRNRN5!  p\        ;QJ d%    R \	        W4       4       F  '       d   K   RM	  RM! R \	        W4       4       4      '       g   Q hR# )r   r   iÜ  c              3  óN   "  € T F  w  r\        W,
          4      R 8  x € K  	  R# 5i)g•Ö&è.>N)Úabs)Ú.0ÚaÚbs   &  r   Ú	<genexpr>ÚCtest_zoom_does_not_change_normalized_coordinates.<locals>.<genexpr>L   s$   é € ð á,‰DˆAô 	ˆA�E‹
�TÖÛ,ùs   ‚#%FTN©r   ç333333Ó?r   çš™™™™™¹?)r   Únormalized_to_viewÚview_to_normalizedÚallÚzip)ÚoriginalÚviewÚ	recovereds      r   Ú0test_zoom_does_not_change_normalized_coordinatesr<   4   sÎ   € ð€Hô ×.Ò.ð Ø	ðàðð 	ðð 	ð	ð
 	ó€Dô !×3Ò3ð Ø	ðàðð 	ðð 	ð	ð
 	ó€I÷ ‹3ñ ä˜Ô,ó�3�3Š3ñ ä˜Ô,ó÷ ò ð ò r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   R   s   € ÷ ñ ˜tñ r   c            
     ó¶   € \        \        P                  R RRR^RR7      p V P                  \        P                  8X  g   Q hV P	                  4       R8X  g   Q hR# )r   r3   r   r4   ÚHello©Úelement_typeÚxÚyÚwidthÚheightÚpage_numberÚtextNr2   )r   r   ÚTEXTrA   Úrect)Úelements    r   Útest_document_elementrK   R   s`   € ÜÜ ×%Ñ%Ø
Ø
ØØØØô€Gð ×Ñ¤;×#3Ñ#3Ô3Ð3Ð3Ø�<‰<‹>ð ô ð ò r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   f   s   € ÷ *ñ *˜ñ *r   c                 óð   € \        ^RRR7      p V P                  P                  \        \        P
                  RRRR^R7      4       \        V P                  4      ^8X  g   Q hV P                  R	8X  g   Q hR
# )r   éd  é  ©rF   Úwidth_ptÚ	height_ptr4   r   r3   r   ©rA   rB   rC   rD   rE   rF   ÚportraitN)r	   ÚelementsÚappendr   r   ÚIMAGEÚlenÚorientation©Úpages    r   Útest_page_stater\   f   sv   € ÜØØØô€Dð 	‡M�M×ÑÜÜ$×*Ñ*ØØØØØô	
ô	ô ˆt�}‰}Ó Ô"Ð"Ð"Ø×Ñ˜zÔ)Ð)Ò)r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   |   s   € ÷ -ñ - 4ñ -r   c                 ó8  € \        \        ^RRRR7      \        ^RRRR7      \        ^RRRR7      .R7      p \        V P                  4      ^8X  g   Q hV P                  ^,          P                  . 8X  g   Q hV P                  ^,          P
                  RJ g   Q hR# )é   rN   rO   T)rF   rQ   rR   Ú	processedF)ÚpagesN)r   r	   rX   ra   rU   r`   )Úmodels    r   Útest_skipped_pages_remainrc   |   s¢   € ÜäØØØØô	ô ØØØØô	ô ØØØØô	ð
ô€Eô. ˆu�{‰{Ó˜qÔ Ð Ð Ø�;‰;�q�>×"Ñ" bÔ(Ð(Ð(Ø�;‰;�q�>×#Ñ# uÓ,Ð,Ò,r   c               ó    € V ^8„  d   QhRRRR/# )r   Útmp_pathr   r   r   r   )r   s   "r   r   r   ™   s   € ÷ )@ñ )@ Tð )@¨dñ )@r   c                ó$  € V R ,          p\        RR^\        R^RR7      \        ^RRR\        \        P
                  RR	R
R^RR7      .R7      .R7      pVP                  V4       \         P                  ! V4      pVP                  R8X  g   Q hVP                  ^8X  g   Q hVP                  P                  R8X  g   Q hVP                  P                  ^8X  g   Q hVP                  ^ ,          P                  ^ ,          P                  R8X  g   Q hR# )zsample.pdfocrprojectz
sample.pdfzsample.docxÚArialT)ÚfamilyÚsize_ptÚboldrN   rO   r4   r   g      à?zProject textr@   )rF   rQ   rR   r`   rU   )Ú
source_pdfÚoutput_docxÚcurrent_pageÚfontra   N)r   r   r	   r   r   rH   Úsave_projectÚload_projectrk   rm   rn   rh   ri   ra   rU   rG   )re   Úprojectrb   Úrestoreds   &   r   Útest_project_save_loadrs   ™   s  € ØÐ/Õ/€GäØØ!ØÜØØØô
ô ØØØØä#Ü%0×%5Ñ%5ØØØ!Ø"Ø$%Ø+ôð
ôð
ô€Eð< 
×Ñ�wÔä×)Ò)¨'Ó2€Hà×Ñ ,Ô.Ð.Ð.Ø× Ñ  AÔ%Ð%Ð%Ø�=‰=×Ñ 7Ô*Ð*Ð*Ø�=‰=× Ñ  BÔ&Ð&Ð&Ø�>‰>˜!Õ×%Ñ% aÕ(×-Ñ-°Ô?Ð?Ò?r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   Å   s   € ÷ 5ñ 5 $ñ 5r   c                 ó,  € \        R R.RR..^2^2.^^.R7      p \         P                  ! V P                  4       4      pVP                  V P                  8X  g   Q hVP                  V P                  8X  g   Q hVP
                  V P
                  8X  g   Q hR# )ÚAÚBÚ1Ú2)ÚrowsÚcolumn_widthsÚrow_heightsN)r
   Ú	from_dictÚto_dictrz   r{   r|   )Útablerr   s     r   Útest_table_serializationr€   Å   s‘   € Üà�#ˆJØ�#ˆJð
ð ˜2�hØ˜�Hô€Eô ×"Ò" 5§=¡=£?Ó3€Hà�=‰=˜EŸJ™JÔ&Ð&Ð&Ø×!Ñ! U×%8Ñ%8Ô8Ð8Ð8Ø×Ñ 5×#4Ñ#4Ô4Ð4Ò4r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   Ö   s   € ÷ %#ñ %#¨$ñ %#r   c                 óF  € \        ^RRR7      p V P                  P                  \        \        P
                  RRRR^RR7      \        \        P                  RR	RR
^R7      \        \        P                  RR	RR
^R7      .4       \        V P                  4      ^8X  g   Q hR# )r_   rN   rO   rP   r   r   r4   ÚTextr@   r   r3   rS   gš™™™™™á?N)	r	   rU   Úextendr   r   rH   rW   ÚTABLErX   rZ   s    r   Ú test_multiple_elements_same_pager†   Ö   s®   € ÜØØØô€Dð 	‡M�M×ÑäÜ(×-Ñ-ØØØØØØôô Ü(×.Ñ.ØØØØØôô Ü(×.Ñ.ØØØØØôð%	
ôô< ˆt�}‰}Ó Ô"Ð"Ò"r   N)Ú
__future__r   Úpathlibr   Ú
app.modelsr   r   r   r   r	   r
   Ú	app.utilsr   r#   r(   r<   rK   r\   rc   rs   r€   r†   r   r   r   Ú<module>r‹      sI   ðÝ "å ÷÷ õ 'õõ$õ$õ<õ(*õ,-õ:)@õX5÷"%#r   