%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/reportlab/pdfbase/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/reportlab/pdfbase/__pycache__/pdfform.cpython-312.pyc

�

��dX=����dZddlmZmZmZmZmZddlmZd�d�Z	d�d�Z
d�d�Zd�d�Zd�Z
d	�Zdd
lmZmZd�ZGd�d
e�Zdddgded�dddgdddgdedddgg�dgZd�Zd�ZdgZddd gdd!d"gddgZd#d$d%d&d'd(d)d*d+d,d-d.d/�Zdd0d1gddgZd2gZd3�Zdd4d5gddd gdd6d7gdd8gZd9�Zdd:lm Z e e�e�	d�d;�Z!gd<�d=g�d>�d?g�d@�dAg�d>�dBg�d>�dCg�dD�dEg�d�dF�dGg�d�dH�dIg�d�dJ�dKg�d>�dLg�d>�dMg�d>�dNg�dO�dPg�d�dQ�dEg�d�dR�dSg�d�d�Z"	d�dT�Z#gdU�dV�d=g�d>�d?g�d@�dAg�d>�dBg�d>�dCg�dW�dX�dYg�d�dZ�d[�d\�d]�d^�d_�d`�da�db�db�db�dc�dd�da�de�de�de�dc�df�dg�dhg�d�dH�dig�d�dj�dk�dKg�d>�dLg�d>�dMg�d>�dNg�dl�dm�dn�do�d7g�d�dp�dq�dr�dYg�d�d�Z$d�ds�Z%gdt�du�d_�dv�dwg�d�dx�dy�d_�dz�d{�d|�d}g�d�d~�dg�d�d��d�d��d��d~�d�g�d�d��df�d��d�g�d�d��ed���d�d��d�g�d�d��d��d��d��d��d��d��d_�d��d��ed���d��ed���dx�d�d��dig�d�dj�dk�dKg�d>�dLg�d>�dMg�d>�dNg�d��d�dm�d��d��d7g�d�d��d��d��d�g�d�d��Z&d�d��Z'd�d��Z(y�)�a�Support for Acrobat Forms in ReportLab documents

This module is somewhat experimental at this time.

Includes basic support for
    textfields,
    select fields (drop down lists), and
    check buttons.

The public interface consists of functions at the moment.
At some later date these operations may be made into canvas
methods. (comments?)

The ...Absolute(...) functions position the fields with respect
to the absolute canvas coordinate space -- that is, they do not
respect any coordinate transforms in effect for the canvas.

The ...Relative(...) functions position the ONLY THE LOWER LEFT
CORNER of the field using the coordinate transform in effect for
the canvas.  THIS WILL ONLY WORK CORRECTLY FOR TRANSLATED COORDINATES
-- THE SHAPE, SIZE, FONTSIZE, AND ORIENTATION OF THE FIELD WILL NOT BE EFFECTED
BY SCALING, ROTATION, SKEWING OR OTHER NON-TRANSLATION COORDINATE
TRANSFORMS.

Please note that all field names (titles) in a given document must be unique.
Textfields and select fields only support the "base 14" canvas fonts
at this time.

See individual function docstrings below for more information.

The function test1(...) generates a simple test file.

THIS CONTRIBUTION WAS COMMISSIONED BY REPORTLAB USERS
WHO WISH TO REMAIN ANONYMOUS.
�)�	PDFString�	PDFStream�
PDFDictionary�PDFName�	PDFObject)�	obj_R_G_Bc	�V�t|�}	|	j||||||z||z|||�	S)aPlace a text field on the current page
        with name title at ABSOLUTE position (x,y) with
        dimensions (width, height), using value as the default value and
        maxlen as the maximum permissible length.  If multiline is set make
        it a multiline field.
    )�getForm�	textField)
�canvas�title�x�y�width�height�value�maxlen�	multiline�theforms
          �;/usr/lib/python3/dist-packages/reportlab/pdfbase/pdfform.py�textFieldAbsoluter-s7���f�o�G����V�U�A�q�!�E�'�1�V�8�U�F�T]�^�^�c	�R�|j||�\}	}
t|||	|
|||||�	S�z\same as textFieldAbsolute except the x and y are relative to the canvas coordinate transform)�absolutePositionr)rr
�xR�yRrrrrr�xA�yAs           r�textFieldRelativer 7s4���&�&�r�"�-�H�R���V�U�B��E�6�5�&�R[�\�\rc	�H�t|�}|j|||||||��S)z�Place a check button field on the current page
        with name title and default value value (one of "Yes" or "Off")
        at ABSOLUTE position (x,y).
    �rr)r
�buttonField)rr
rrrrrrs        r�buttonFieldAbsoluter$<s-��
�f�o�G����v�u�e�Q���v��V�Vrc	�P�|j||�\}}t|||||||��S)z^same as buttonFieldAbsolute except the x and y are relative to the canvas coordinate transformr")rr$)	rr
rrrrrrrs	         r�buttonFieldRelativer&Ds0���&�&�r�"�-�H�R���v�u�e�R��5�QW�X�Xrc�V�t|�}|j||||||||z||z�y)aPlace a select field (drop down list) on the current page
        with name title and
        with options listed in the sequence options
        default value value (must be one of options)
        at ABSOLUTE position (x,y) with dimensions (width, height).N)r
�selectField)	rr
r�optionsrrrrrs	         r�selectFieldAbsoluter*Is1���f�o�G������u�g�q�!�Q�u�W�a��h�Orc
�P�|j||�\}}	t||||||	||�Sr)rr*)
rr
rr)rrrrrrs
          r�selectFieldRelativer,Rs1���&�&�r�"�-�H�R���v�u�e�W�b�"�e�V�T�Tr)�
PDFPattern�PDFPatternIfc��	|jS#t$r5t�x}|_|j}|j}||_|cYSwxYw)z/get form from canvas, create the form if needed)�AcroForm�AttributeError�_doc�_catalog)rr�d�cats    rr
r
[sL����������$,�J�.��&�/��K�K���j�j�������
�s��;A�Ac�.�eZdZd�Zdd�Zd�Zdd�Zd�Zy)	r0c��g|_y�N)�fields)�selfs r�__init__zAcroForm.__init__hs	����rc
�&�|j}
|
j�}t|j�\}}
}|j}|j
}t
||||||||||||
||	�}|jj|�|j|�yr8)
r2�thisPageRefr�
_fillColorObj�	_fontname�	_fontsize�	TextFieldr9�append�_addAnnotation)r:rr
�xmin�ymin�xmax�ymaxrrr�doc�page�R�G�B�font�fontsize�fields                  rrzAcroForm.textFieldjs����k�k����� ���F�0�0�1���1�a�� � ���$�$���%���d�D�$��f���!�Q��9�>�������5�!����e�$rc	�&�|j}	|	j�}
t|j�\}}}
|j}|j
}t
||||||||
|||||
��
}|jj|�|j|�y)N)rMrNrJrKrL)
r2r=rr>r?r@�SelectFieldr9rBrC)r:rr
rr)rDrErFrGrHrIrJrKrLrMrNrOs                 rr(zAcroForm.selectFieldws����k�k����� ���F�0�0�1���1�a�� � ���$�$���E�5�'�4��t�T�4��(�a�1��;�������5�!����e�$rc	��|j}|j�}	t|||||	||��}
|jj	|
�|j|
�y�Nr")r2r=�ButtonFieldr9rBrC)r:rr
rrDrErrrHrIrOs           rr#zAcroForm.buttonField�sN���k�k����� ���E�5�$��d�%�PV�W�������5�!����e�$rc���ddlm}ttt	|dd�xs
t�t	|dd�||j�t	|dd���}|j|�S)Nr)�PDFArray�	resources�needAppearances�false�sigFlags)�	Resources�NeedAppearancesr9�SigFlags)�reportlab.pdfbase.pdfdocrVr-�FormPattern�getattr�
FormResourcesr9�format)r:�documentrV�proxys    rrbzAcroForm.format�s[��5��;�%�d�;�t�<�O�
��$+�D�1B�7�$K�#�D�K�K�0�7�4�
�ST�;U�W���|�|�H�%�%rN���@Br�g��4�8�0@g���Mb�-@)�__name__�
__module__�__qualname__r;rr(r#rb�rrr0r0gs���%�%�%�&rr0z<<
z/NeedAppearances r\z
/DA z/Helv 0 Tf 0 g z
z/DR r[z/Fields r9r]z
/SigFlags z>>c��ddlm}|�}d|_tj	�D]\}}t||�||<�t
t�|d<|S)Nr)r��ZaDb)r^r�__RefOnly__�
FORMFONTNAMES�items�FormFontr-�ZaDbPattern)r�fontsdictionary�fullname�	shortnames    r�FormFontsDictionaryrx�sY��6�#�o�O�"#�O��,�2�2�4�C���)�%-�h�	�%B��	�"�C�(��5�O�F���rc	�n�tttttt���t	���S)N)�PDFDocEncoding)�Encoding�Font)r-�FormResourcesDictionaryPattern�EncodingPattern�PDFDocEncodingPatternrxrlrrrara�s(���4�)�/��Ti�Ij�k�.�0�2�2rzQ << /BaseFont    /ZapfDingbats /Name    /ZaDb /Subtype    /Type1 /Type    /Font>>z<<z /Encoding r{z /Font r|�Helv�HeBo�Cour�CoBo�CoOb�CoBO�HeOb�HeBO�Time�TiBo�TiIt�TiBI)�	Helvetica�Helvetica-Bold�CourierzCourier-BoldzCourier-ObliquezCourier-BoldObliquezHelvetica-ObliquezHelvetica-BoldObliquezTimes-Romanz
Times-BoldzTimes-ItaliczTimes-BoldItalicz /PDFDocEncoding rza#<< /Differences    [ 24 /breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction /guilsinglleft /guilsinglright /minus /perthousand /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron 160 /Euro 164 /currency 166 /brokenbar 168 /dieresis /copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu 183 /periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter /onehalf /threequarters 192 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis    ] /Type /Encoding>>c�f�ddlm}tt||�||�tt���S)Nr)r)�BaseFont�Namer{)r^rr-�FormFontPatternr)r�r�rs   rrsrsls5��0��o���0A��PT�
�`j�lA�aB�C�Crz /BaseFont r�z /Name r�z" /Subtype  /Type1  /Type  /Font >>c��yr8rlrlrr�resetPdfFormr�~s��r)�register_resetc��ddlm}m}d}|
r|dz}t|}t	t
||�||||�||||||�|	|
|||��S)Nr)rri)rrrIr
rDrErFrG�fontnamerNrJrKrL�Flags)r^rrrqr-�TextFieldPattern)r
rrDrErFrGrIrrMrNrJrKrLrrrr�r�s                  rrArA�sc��;�
�E�������T�"�H��&�%�e�,�V�$�%�e�,��d��D�&�x�0�8�q�A�QR�Z_�	a�arz<< /DA (r�� rNz Tf rJrKrLz	 rg) /DV rz- /F 4 /FT /Tx/MK << /BC [ 0 0 0 ] >> /MaxLen rz /P rIz /Rect     [rDrErFrGz ]/Subtype /Widget /T r
z /Type    /Annot /V z /Ff r�c
��ddlm}
m}m}||vr#t	dt|��dt|�����t|}tt|
|��}||�}tt||
|�||
|�||||||�|	|
||��S)Nr)rrrVzvalue z must be one of options )
�Options�Selected�Pager�rDrErFrGr�rNrJrKrL)r^rrrV�
ValueError�reprrq�list�mapr-�SelectFieldPattern)r
rr)rDrErFrGrIrMrNrJrKrLrrrVr��
optionstrings�optionarrays                   rrQrQ�s���F�E��G����e��d�SZ�m�\�]�]��T�"�H���Y��0�1�M��=�)�K��(�)�(��/�d�$�U�+��d��D�&�x�0�8�q�A�QR�T�Trz<< % a select list
 /DA z (z rg)
z /DV r�z /F z    4
z /FT z	    /Ch
z /MK z    <<z    /BCz	        [z
            0z	        ]z    /BGz
            1z    >>
z /Opt r�r�z/Rectz    [z    ] 
z/Subtypez
    /Widget
z /T z /Type z
    /Annotz /V c�Z�|dvrtdt|�z��d|z}d|z}d|z}	ttt	|�||||z||ztdg�tdt
�z||��td	t
�z||��td
t
�z||��t|�|��S)N)�Yes�Offz%button value must be 'Yes' or 'Off': g{�ה�F�?g����m}�?g�t���?z<< /S  /Hide >>z'0.749 g 0 0 %(width)s %(height)s re f
r"z�0.749 g 0 0 %(width)s %(height)s re f q 1 1 %(width)s %(height)s re W n BT /ZaDb %(fontSize)s Tf 0 g 1 0 0 1 %(dx)s %(dy)s Tm (4) Tj ET
zgq 1 1 %(width)s %(height)s re W n BT /ZaDb %(fontSize)s Tf 0 g   1 0 0 1 %(dx)s %(dy)s Tm (4) Tj ET Q
)r�rDrErFrG�Hide�APDOff�APDYes�APNYes�Valuer�)r�r�r-�ButtonFieldPatternr�ButtonStream�varsr)
r
rrDrErIrr�fontSize�dx�dys
          rrTrT�s����N�"��@��e��L�M�M���&�H�
�%�	�B�
��	�B��(�$�U�+��d��e��$�u�*�%�'8�&9�:�)�*U�X\�X^�*^�fk�tz�{�)�+x�{�{A�+A�27��H�)�+V�Y]�Y_�+_�27��H�#�E�N��
!�
!rz<< z/AAz    /D r�z    >> z/AP z    /Dz
        <<z
        /Off r�z
        /Yes r�z
        >>z    /Nz        << r�z /AS r�z /DA z/ZaDb 0 Tf 0 gz/DV z/F z    4 z/FT z	    /Btn z/H z    /T z/MK z    /AC (\376\377)z    /CA �4z    /RC uþÿz/P z    ] z    /Widget z/T z/Typez    /Annot z/V z >>c��t�}d|d<dt�z|d<t�}tt�|d<t�}d|d<||d<||d	<|S)
z>everything except the length for the button appearance streamsz/Form�SubTypez[0 0 %(width)s %(height)s]�BBoxroz[ /PDF /Text ]�ProcSetr|r[)rr�r-rt)rr�resultrMrWs     r�buttonStreamDictionaryr�6sb��
�_�F��F�9��1�D�F�:�F�6�N��?�D��k�*�D��L���I�+�I�i���I�f��#�F�;���Mrc�B�tt||��|�}g|_|SrS)rr��filters)�contentrrr�s    rr�r�Cs"��
�-�E��H�'�
R�F��F�N��MrNrerh)rgr��	rr���Mb�?r)r�r�rrr�))�__doc__r^rrrrr�reportlab.lib.colorsrrr r$r&r*r,�reportlab.pdfbase.pdfpatternr-r.r
r0r_rxrartr}rqr~rrsr�r��reportlab.rl_configr�rAr�rQr�rTr�r�r�rlrr�<module>r�sH	��"�L]�\�*�_�]�
W�Y�
P�U�B�
�*&�y�*&�Z	��&�'�)��#�$�f���}�V�
�X�J�v��Z�)�:�,�7�8�����2�	�
���
���f�	���&��
"�������!��#�����
�
� ����F��	��R�S��jC�
�
���f�
���f�	���&����	�.��|����_`�a�����l����#�|��%+��-0�5��25��7:�U��<?��AD�u��F��
	�	��
���
�
�
��
���������������� ���#&��)/�x��25��8>�h��A�� 	�	�!� �!�"�#�(	�	�)�(�)�*�+�,	�	�-�,�-�.�/��4>C�T� )��)��)��l�)��)�#�|�)�%+�)�-0�5�)�25�)�7:�U�)�<?�)�AD�u�)�FP�)�
�)���
)��
)��)��)��)��)��)�	�)�
�)��)��)� �!)�"�#)�$�%)�&
�')�(�))�*�+)�,�-)�.�/)�0�1)�2
�3)�4	�5)�6��7)�6
�7)�8�9)�:��;)�:
�;)�<�=)�>�?)�>
��?)�>�?)�>�x�?)�>"%�?)�>(.�h�?)�>14�?)�>7=�X�?)�@
�A)�B�C)�D�E)�F�G)�H��I)�H
�I)�J
�K)�L
�M)�N�O)�P��Q)�P�Q)�R�S)��V!�$;�e�;��;��;�
�;���	;�
�	;�
�
;��;�	�;�	�;�
�;��;�
�
�;�
�;��;� 
�
�!;� 
�!;�"
�#;�"�#;�$	�%;�&�';�(�);�,
�
�-;�,�-;�.
�/;�0
�1;�2�3;�4	�	�5;�4�5;�6�7;�8
�
��9;�8$�9;�:�;;�<	�	�=;�<�=;�>�?;�@	�A;�B�C;�D�E;�F�G;�H
�I;�J�K;�L	�M;�N�O;�R�S;�T
�#��U;�V�W;�X
�*��Y;�Z
�[;�Z�[;�\�];�^��_;�^�_;�`�a;�b�c;�b
��c;�b�c;�b�x�c;�b"%�c;�b(.�h�c;�b14�c;�b7=�X�c;�d	�e;�d
�e;�f�g;�h�i;�j�k;�l��m;�l�m;�n�o;�p�q;�r�s;�t	�	�u;�t�u;�v�w;��|�r

Zerion Mini Shell 1.0