From cedf3a094b9c53e63d42bab72c5826fc0eac80e4 Mon Sep 17 00:00:00 2001 From: nicolaasuni Date: Wed, 12 May 2010 14:44:22 +0200 Subject: [PATCH] 5.0.005 --- CHANGELOG.TXT | 5 + README.TXT | 4 +- doc/classtrees_com-tecnick-tcpdf.html | 2 +- doc/com-tecnick-tcpdf/QRcode.html | 2 +- doc/com-tecnick-tcpdf/TCPDF.html | 1465 +++++++++-------- doc/com-tecnick-tcpdf/TCPDF2DBarcode.html | 2 +- doc/com-tecnick-tcpdf/TCPDFBarcode.html | 2 +- doc/com-tecnick-tcpdf/_2dbarcodes.php.html | 2 +- doc/com-tecnick-tcpdf/_barcodes.php.html | 2 +- .../_config---tcpdf_config.php.html | 2 +- doc/com-tecnick-tcpdf/_htmlcolors.php.html | 2 +- doc/com-tecnick-tcpdf/_qrcode.php.html | 2 +- doc/com-tecnick-tcpdf/_tcpdf.php.html | 6 +- doc/com-tecnick-tcpdf/_unicode_data.php.html | 2 +- doc/elementindex.html | 50 +- doc/elementindex_com-tecnick-tcpdf.html | 50 +- doc/errors.html | 4 +- doc/index.html | 2 +- doc/li_com-tecnick-tcpdf.html | 2 +- examples/example_010.php | 4 +- examples/example_016.php | 69 +- examples/example_052.php | 25 +- tcpdf.php | 564 +++++-- 23 files changed, 1420 insertions(+), 850 deletions(-) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 760fe80..a89e823 100755 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,3 +1,8 @@ +5.0.005 (2010-05-12) + - WARNING: The logic of permissions on the SetProtection() method has been inverted and extended (see example 16). Now you have to specify the features you want to block. + - SetProtection() method was extended to support RSA and AES 128 encryption and public-keys (see example 16). + - Bug #2999489 "setEqualColumns() and TOC uses wrong columns" was fixed (see the example 10). + 5.0.004 (2010-05-10) - HTML line alignment when using sub and sup tags was fixed. diff --git a/README.TXT b/README.TXT index e84606b..98fac3e 100755 --- a/README.TXT +++ b/README.TXT @@ -8,8 +8,8 @@ http://sourceforge.net/donate/index.php?group_id=128076 ------------------------------------------------------------ Name: TCPDF -Version: 5.0.004 -Release date: 2010-05-10 +Version: 5.0.005 +Release date: 2010-05-12 Author: Nicola Asuni Copyright (c) 2001-2010: diff --git a/doc/classtrees_com-tecnick-tcpdf.html b/doc/classtrees_com-tecnick-tcpdf.html index a46f492..4485146 100644 --- a/doc/classtrees_com-tecnick-tcpdf.html +++ b/doc/classtrees_com-tecnick-tcpdf.html @@ -55,7 +55,7 @@

- Documentation generated on Mon, 10 May 2010 18:33:44 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/QRcode.html b/doc/com-tecnick-tcpdf/QRcode.html index ae97d3e..9f3a060 100644 --- a/doc/com-tecnick-tcpdf/QRcode.html +++ b/doc/com-tecnick-tcpdf/QRcode.html @@ -5548,7 +5548,7 @@ $frame)

- Documentation generated on Mon, 10 May 2010 18:33:45 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/TCPDF.html b/doc/com-tecnick-tcpdf/TCPDF.html index b38da43..d5fd442 100644 --- a/doc/com-tecnick-tcpdf/TCPDF.html +++ b/doc/com-tecnick-tcpdf/TCPDF.html @@ -80,7 +80,7 @@ Source Location: /tcpdf.php

Version:

@@ -134,15 +134,16 @@ Source Location: /tcpdf.php

  • $embeddedfiles
  • $embedded_start_obj_id
  • $encoding
  • +
  • $encryptdata
  • $encrypted
  • -
  • $encryption_key
  • -
  • $enc_obj_id
  • +
  • $enc_padding
  • $endlinex
  • $epsmarker
  • $extgstates
  • $feps
  • $fgcolor
  • $fhPt
  • +
  • $file_id
  • $FillColor
  • $FontAscent
  • $FontDescent
  • @@ -196,8 +197,8 @@ Source Location: /tcpdf.php

  • $keywords
  • $l
  • $lasth
  • -
  • $last_rc4_key
  • -
  • $last_rc4_key_c
  • +
  • $last_enc_key
  • +
  • $last_enc_key_c
  • $LayoutMode
  • $linestyleCap
  • $linestyleDash
  • @@ -233,9 +234,7 @@ Source Location: /tcpdf.php

  • $original_rMargin
  • $OutlineRoot
  • $outlines
  • -
  • $Ovalue
  • $overline
  • -
  • $padding
  • $page
  • $PageAnnots
  • $PageBreakTrigger
  • @@ -251,7 +250,6 @@ Source Location: /tcpdf.php

  • $premode
  • $print_footer
  • $print_header
  • -
  • $Pvalue
  • $radiobutton_groups
  • $radio_groups
  • $rasterize_vector_images
  • @@ -302,7 +300,6 @@ Source Location: /tcpdf.php

  • $ur_document
  • $ur_form
  • $ur_signature
  • -
  • $Uvalue
  • $viewer_preferences
  • $visibility
  • $w
  • @@ -348,6 +345,7 @@ Source Location: /tcpdf.php

  • colorRegistrationBar
  • ComboBox
  • commitTransaction
  • +
  • convertHexStringToString
  • convertHTMLColorToDec
  • convertSVGtMatrix
  • CoonsPatchMesh
  • @@ -376,6 +374,7 @@ Source Location: /tcpdf.php

  • getCellCode
  • getCellHeightRatio
  • GetCharWidth
  • +
  • getEncPermissionsString
  • getFontAscent
  • getFontBuffer
  • getFontDescent
  • @@ -426,6 +425,7 @@ Source Location: /tcpdf.php

  • GetStringWidth
  • getSVGTransformMatrix
  • getTransformationMatrixProduct
  • +
  • getUserPermissionCode
  • getVectorsAngle
  • GetX
  • GetY
  • @@ -610,6 +610,7 @@ Source Location: /tcpdf.php

  • writeHTML
  • writeHTMLCell
  • _addfield
  • +
  • _AES
  • _beginpage
  • _dataannobjstring
  • _datastring
  • @@ -622,6 +623,7 @@ Source Location: /tcpdf.php

  • _dooverlinew
  • _dounderline
  • _dounderlinew
  • +
  • _encrypt_data
  • _enddoc
  • _endpage
  • _escape
  • @@ -706,7 +708,7 @@ This is a PHP class for generating PDF documents without requiring external exte author:  Nicola Asuni - info@tecnick.com - version:  5.0.004 + version:  5.0.005 link:  http://www.tcpdf.org @@ -783,7 +785,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $annotation_fonts = array()

    -

    [line 1455]

    +

    [line 1435]

    List of fonts used on form fields (fontname => fontkey).



    Tags:

    @@ -810,7 +812,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $annots_start_obj_id =  200000

    -

    [line 1364]

    +

    [line 1344]

    Start ID for annotation objects



    Tags:

    @@ -837,7 +839,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $annot_obj_id =  200000

    -

    [line 1371]

    +

    [line 1351]

    Max ID of annotation object



    Tags:

    @@ -864,7 +866,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $apxo_obj_id =  400000

    -

    [line 1448]

    +

    [line 1428]

    Current ID of appearance streams XObjects



    Tags:

    @@ -891,7 +893,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $apxo_start_obj_id =  400000

    -

    [line 1441]

    +

    [line 1421]

    Start ID for appearance streams XObjects



    Tags:

    @@ -1050,7 +1052,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $booklet =  false

    -

    [line 1103]

    +

    [line 1083]

    Booklet mode for double-sided pages



    Tags:

    @@ -1104,7 +1106,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $bufferlen =  0

    -

    [line 1203]

    +

    [line 1183]

    Length of the buffer in bytes.



    Tags:

    @@ -1131,7 +1133,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $byterange_string =  '/ByteRange[0 ********** ********** **********]'

    -

    [line 1336]

    +

    [line 1316]

    ByteRange placemark used during signature process.



    Tags:

    @@ -1158,7 +1160,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $cache_file_length = array()

    -

    [line 1259]

    +

    [line 1239]

    Array used to store the lengths of cache files



    Tags:

    @@ -1185,7 +1187,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $cache_maxsize_UTF8StringToArray =  8

    -

    [line 1287]

    +

    [line 1267]

    Maximum size of cache array used for UTF8StringToArray() method.



    Tags:

    @@ -1212,7 +1214,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $cache_size_UTF8StringToArray =  0

    -

    [line 1294]

    +

    [line 1274]

    Current size of cache array used for UTF8StringToArray() method.



    Tags:

    @@ -1239,7 +1241,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $cache_UTF8StringToArray = array()

    -

    [line 1280]

    +

    [line 1260]

    Cache array for UTF8StringToArray() method.



    Tags:

    @@ -1266,7 +1268,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $cell_height_ratio =  K_CELL_HEIGHT_RATIO

    -

    [line 953]

    +

    [line 933]

    Default cell height ratio.



    Tags:

    @@ -1320,7 +1322,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $cntmrk = array()

    -

    [line 990]

    +

    [line 970]

    Array used to store content positions inside the pages buffer.

    keys are the page numbers




    Tags:

    @@ -1374,7 +1376,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $columns = array()

    -

    [line 1504]

    +

    [line 1484]

    Array of column measures (width, space, starting Y position)



    Tags:

    @@ -1401,7 +1403,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $column_start_page =  0

    -

    [line 1525]

    +

    [line 1505]

    Starting page for columns



    Tags:

    @@ -1560,7 +1562,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $current_column =  0

    -

    [line 1518]

    +

    [line 1498]

    Current column number



    Tags:

    @@ -1587,7 +1589,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $currpagegroup =

    -

    [line 911]

    +

    [line 891]

    Contains the alias of the current page group



    Tags:

    @@ -1614,7 +1616,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $curr_annot_obj_id =  200000

    -

    [line 1378]

    +

    [line 1358]

    Current ID of annotation object



    Tags:

    @@ -1641,7 +1643,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $customlistindent =  -1

    -

    [line 1125]

    +

    [line 1105]



    Tags:

    @@ -1671,7 +1673,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $default_form_prop = array('lineWidth'=>1, 'borderStyle'=>'solid', 'fillColor'=>array(255, 255, 255),'strokeColor'=>array(128,128,128))

    -

    [line 1392]

    +

    [line 1372]

    Deafult Javascript field properties. Possible values are described on official Javascript for Acrobat API reference. Annotation options can be directly specified using the 'aopt' entry.



    Tags:

    @@ -1698,7 +1700,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $default_monospaced_font =  'courier'

    -

    [line 1245]

    +

    [line 1225]

    Default monospaced font



    Tags:

    @@ -1779,7 +1781,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $diskcache =  false

    -

    [line 1210]

    +

    [line 1190]

    If true enables disk caching.



    Tags:

    @@ -1806,7 +1808,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $dpi =  72

    -

    [line 890]

    +

    [line 870]

    Dot Per Inch Document Resolution (do not change)



    Tags:

    @@ -1860,7 +1862,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $embeddedfiles = array()

    -

    [line 1139]

    +

    [line 1119]



    Tags:

    @@ -1890,7 +1892,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $embedded_start_obj_id =  100000

    -

    [line 1357]

    +

    [line 1337]

    Start ID for embedded file objects



    Tags:

    @@ -1940,6 +1942,33 @@ This is a PHP class for generating PDF documents without requiring external exte Type:   default + + +


    +
    [ Top ]

    + +

    +

    $encryptdata = array()

    +

    [line 758]

    + Array containing encryption settings



    +

    Tags:

    +
    + + + + + + + +
    since:  5.0.005 (2010-05-11)
    access:  protected
    +
    + +
    +
    + + + +
    Type:  mixed


    @@ -1971,11 +2000,11 @@ This is a PHP class for generating PDF documents without requiring external exte


    [ Top ]

    - +

    -

    $encryption_key =

    -

    [line 805]

    - RC4 encryption key



    +

    $enc_padding =  "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A"

    +

    [line 778]

    + Encryption padding



    Tags:

    @@ -1983,33 +2012,6 @@ This is a PHP class for generating PDF documents without requiring external exte
    access:  protected
    -
    - -
    -
    - - - - - -
    Type:  mixed
    -


    -
    [ Top ]

    - -

    -

    $enc_obj_id =

    -

    [line 779]

    - encryption object id



    -

    Tags:

    -
    - - - - - - - -
    since:  2.0.000 (2008-01-02)
    access:  protected

    @@ -2025,7 +2027,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $endlinex =  0

    -

    [line 1019]

    +

    [line 999]

    End position of the latest inserted line



    Tags:

    @@ -2052,7 +2054,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $epsmarker =  'x#!#EPS#!#x'

    -

    [line 1082]

    +

    [line 1062]

    String used to mark the beginning and end of EPS image blocks



    Tags:

    @@ -2079,7 +2081,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $extgstates =

    -

    [line 939]

    +

    [line 919]

    Array of transparency objects and parameters.



    Tags:

    @@ -2106,7 +2108,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $feps =  0.005

    -

    [line 1110]

    +

    [line 1090]

    Epsilon value used for float calculations



    Tags:

    @@ -2180,6 +2182,33 @@ This is a PHP class for generating PDF documents without requiring external exte Type:   height + + +


    +
    [ Top ]

    + +

    +

    $file_id =

    +

    [line 785]

    + File ID (used on trailer)



    +

    Tags:

    +
    + + + + + + + +
    since:  5.0.005 (2010-05-12)
    access:  protected
    +
    + +
    +
    + + + +
    Type:  mixed


    @@ -2328,7 +2357,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $fontkeys = array()

    -

    [line 1224]

    +

    [line 1204]

    Store the font keys.



    Tags:

    @@ -2490,7 +2519,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $font_obj_ids = array()

    -

    [line 1231]

    +

    [line 1211]

    Store the font object IDs.



    Tags:

    @@ -2517,7 +2546,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $footerlen = array()

    -

    [line 1005]

    +

    [line 985]

    Array used to store footer length of each page.



    Tags:

    @@ -2544,7 +2573,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $footerpos = array()

    -

    [line 997]

    +

    [line 977]

    Array used to store footer positions of each page.



    Tags:

    @@ -2625,7 +2654,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $form_action =  ''

    -

    [line 1420]

    +

    [line 1400]

    Current form action (used during XHTML rendering)



    Tags:

    @@ -2652,7 +2681,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $form_enctype =  'application/x-www-form-urlencoded'

    -

    [line 1427]

    +

    [line 1407]

    Current form encryption type (used during XHTML rendering)



    Tags:

    @@ -2679,7 +2708,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $form_mode =  'post'

    -

    [line 1434]

    +

    [line 1414]

    Current method to submit forms.



    Tags:

    @@ -2706,7 +2735,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $form_obj_id = array()

    -

    [line 1385]

    +

    [line 1365]

    List of form annotations IDs



    Tags:

    @@ -2760,7 +2789,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $gradients = array()

    -

    [line 974]

    +

    [line 954]

    Array for storing gradient information.



    Tags:

    @@ -3030,7 +3059,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $htmlLinkColorArray = array(0, 0, 255)

    -

    [line 1161]

    +

    [line 1141]

    Default color for html links



    Tags:

    @@ -3057,7 +3086,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $htmlLinkFontStyle =  'U'

    -

    [line 1168]

    +

    [line 1148]

    Default font style to add to html links



    Tags:

    @@ -3084,7 +3113,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $htmlvspace =  0

    -

    [line 1061]

    +

    [line 1041]

    Count the latest inserted vertical spaces on HTML



    Tags:

    @@ -3111,7 +3140,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $imagekeys = array()

    -

    [line 1196]

    +

    [line 1176]

    Store the image keys.



    Tags:

    @@ -3321,7 +3350,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $inthead =  false

    -

    [line 1497]

    +

    [line 1477]

    True when we are printing the thead section on a new page



    Tags:

    @@ -3348,7 +3377,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $intmrk = array()

    -

    [line 982]

    +

    [line 962]

    Array used to store positions inside the pages buffer.

    keys are the page numbers




    Tags:

    @@ -3408,7 +3437,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $javascript =  ''

    -

    [line 831]

    +

    [line 811]

    javascript code



    Tags:

    @@ -3435,7 +3464,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $jpeg_quality =

    -

    [line 946]

    +

    [line 926]

    Set the default JPEG compression quality (1-100)



    Tags:

    @@ -3462,7 +3491,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $js_objects = array()

    -

    [line 1399]

    +

    [line 1379]

    Javascript objects array



    Tags:

    @@ -3489,7 +3518,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $js_obj_id =  300000

    -

    [line 1413]

    +

    [line 1393]

    Current ID of javascript object



    Tags:

    @@ -3516,7 +3545,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $js_start_obj_id =  300000

    -

    [line 1406]

    +

    [line 1386]

    Start ID for javascript objects



    Tags:

    @@ -3645,10 +3674,10 @@ This is a PHP class for generating PDF documents without requiring external exte


    [ Top ]

    - +

    -

    $last_rc4_key =

    -

    [line 786]

    +

    $last_enc_key =

    +

    [line 765]

    last RC4 key encrypted (cached for optimisation)



    Tags:

    @@ -3672,10 +3701,10 @@ This is a PHP class for generating PDF documents without requiring external exte


    [ Top ]

    - +

    -

    $last_rc4_key_c =

    -

    [line 793]

    +

    $last_enc_key_c =

    +

    [line 772]

    last RC4 computed key



    Tags:

    @@ -3729,7 +3758,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $linestyleCap =  '0 J'

    -

    [line 1033]

    +

    [line 1013]

    PDF string for last line width



    Tags:

    @@ -3756,7 +3785,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $linestyleDash =  '[] 0 d'

    -

    [line 1047]

    +

    [line 1027]

    PDF string for last line width



    Tags:

    @@ -3783,7 +3812,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $linestyleJoin =  '0 j'

    -

    [line 1040]

    +

    [line 1020]

    PDF string for last line width



    Tags:

    @@ -3810,7 +3839,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $linestyleWidth =  ''

    -

    [line 1026]

    +

    [line 1006]

    PDF string for last line width



    Tags:

    @@ -3837,7 +3866,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $linethrough =

    -

    [line 845]

    +

    [line 825]

    line trough state



    Tags:

    @@ -4080,7 +4109,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $lisymbol =  ''

    -

    [line 1075]

    +

    [line 1055]

    Symbol used for HTML unordered list items



    Tags:

    @@ -4161,7 +4190,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $newline =  true

    -

    [line 1012]

    +

    [line 992]

    True if a newline is created.



    Tags:

    @@ -4188,7 +4217,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $newpagegroup = array()

    -

    [line 897]

    +

    [line 877]

    Array of page numbers were a new page group was started



    Tags:

    @@ -4215,7 +4244,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $numfonts =  0

    -

    [line 1217]

    +

    [line 1197]

    Counts the number of fonts.



    Tags:

    @@ -4242,7 +4271,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $numimages =  0

    -

    [line 1189]

    +

    [line 1169]

    Counts the number of pages.



    Tags:

    @@ -4269,7 +4298,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $numpages =  0

    -

    [line 1175]

    +

    [line 1155]

    Counts the number of pages.



    Tags:

    @@ -4296,7 +4325,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $num_columns =  0

    -

    [line 1511]

    +

    [line 1491]

    Number of colums



    Tags:

    @@ -4323,7 +4352,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $n_js =

    -

    [line 838]

    +

    [line 818]

    javascript counter



    Tags:

    @@ -4350,7 +4379,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $n_ocg_print =

    -

    [line 925]

    +

    [line 905]

    Print visibility.



    Tags:

    @@ -4377,7 +4406,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $n_ocg_view =

    -

    [line 932]

    +

    [line 912]

    View visibility.



    Tags:

    @@ -4404,7 +4433,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $objcopy =

    -

    [line 1252]

    +

    [line 1232]

    Used to store a cloned copy of the current class object



    Tags:

    @@ -4485,7 +4514,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $opencell =  true

    -

    [line 1132]

    +

    [line 1112]



    Tags:

    @@ -4515,7 +4544,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $openMarkedContent =  false

    -

    [line 1054]

    +

    [line 1034]

    True if marked-content sequence is open



    Tags:

    @@ -4602,7 +4631,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $OutlineRoot =

    -

    [line 821]

    +

    [line 801]

    Outline root for bookmark



    Tags:

    @@ -4629,7 +4658,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $outlines = array()

    -

    [line 814]

    +

    [line 794]

    Outlines for bookmark



    Tags:

    @@ -4641,33 +4670,6 @@ This is a PHP class for generating PDF documents without requiring external exte access:  protected -
    - -
    -
    - - - - - -
    Type:  mixed
    -


    -
    [ Top ]

    - -

    -

    $Ovalue =

    -

    [line 765]

    - O entry in pdf document



    -

    Tags:

    -
    - - - - - - - -
    since:  2.0.000 (2008-01-02)
    access:  protected

    @@ -4703,30 +4705,6 @@ This is a PHP class for generating PDF documents without requiring external exte Type:   overlining - - -


    -
    [ Top ]

    - -

    -

    $padding =  "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A"

    -

    [line 799]

    - RC4 padding



    -

    Tags:

    -
    - - - - -
    access:  protected
    -
    - -
    -
    - - - -
    Type:  mixed


    @@ -4842,7 +4820,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $pagegroups =

    -

    [line 904]

    +

    [line 884]

    Contains the number of pages of the groups



    Tags:

    @@ -4869,7 +4847,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $pagelen = array()

    -

    [line 1182]

    +

    [line 1162]

    Array containing page lengths in bytes.



    Tags:

    @@ -4896,7 +4874,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $PageMode =

    -

    [line 967]

    +

    [line 947]

    A name object specifying how the document should be displayed when opened.



    Tags:

    @@ -4923,7 +4901,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $pageopen = array()

    -

    [line 1238]

    +

    [line 1218]

    Store the fage status (true when opened, false when closed).



    Tags:

    @@ -4977,7 +4955,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $page_obj_id = array()

    -

    [line 1350]

    +

    [line 1330]

    ID of page objects



    Tags:

    @@ -5004,7 +4982,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $pdfunit =  'mm'

    -

    [line 1553]

    +

    [line 1533]



    Tags:

    @@ -5064,7 +5042,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $premode =  false

    -

    [line 1146]

    +

    [line 1126]



    Tags:

    @@ -5141,33 +5119,6 @@ This is a PHP class for generating PDF documents without requiring external exte Type:   If - - -


    -
    [ Top ]

    - -

    -

    $Pvalue =

    -

    [line 772]

    - P entry in pdf document



    -

    Tags:

    -
    - - - - - - - -
    since:  2.0.000 (2008-01-02)
    access:  protected
    -
    - -
    -
    - - - -
    Type:  mixed


    @@ -5175,7 +5126,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $radiobutton_groups = array()

    -

    [line 1462]

    +

    [line 1442]

    List of radio buttons parent objects.



    Tags:

    @@ -5202,7 +5153,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $radio_groups = array()

    -

    [line 1469]

    +

    [line 1449]

    List of radio group objects IDs



    Tags:

    @@ -5229,7 +5180,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $rasterize_vector_images =  false

    -

    [line 1566]

    +

    [line 1546]



    Tags:

    @@ -5259,7 +5210,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $re_spaces =  '/[\s]/'

    -

    [line 1322]

    +

    [line 1302]

    Regular expression used to find blank characters used for word-wrapping.



    Tags:

    @@ -5343,7 +5294,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $sign =  false

    -

    [line 1301]

    +

    [line 1281]

    If true enables document signing



    Tags:

    @@ -5370,7 +5321,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $signature_data = array()

    -

    [line 1308]

    +

    [line 1288]

    Signature data



    Tags:

    @@ -5397,7 +5348,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $signature_max_length =  11742

    -

    [line 1315]

    +

    [line 1295]

    Signature max length



    Tags:

    @@ -5424,7 +5375,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $sig_annot_ref =  '***SIGANNREF*** 0 R'

    -

    [line 1343]

    +

    [line 1323]

    Placemark used during signature process.



    Tags:

    @@ -5451,7 +5402,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $sig_obj_id =  0

    -

    [line 1329]

    +

    [line 1309]

    Signature object ID



    Tags:

    @@ -5478,7 +5429,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $spot_colors = array()

    -

    [line 1068]

    +

    [line 1048]

    Array of Spot colors



    Tags:

    @@ -5505,7 +5456,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $start_transaction_page =  0

    -

    [line 1483]

    +

    [line 1463]

    Store page number when startTransaction() is called.



    Tags:

    @@ -5532,7 +5483,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $start_transaction_y =  0

    -

    [line 1490]

    +

    [line 1470]

    Store Y position when startTransaction() is called.



    Tags:

    @@ -5586,7 +5537,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $strokecolor =

    -

    [line 1546]

    +

    [line 1526]



    Tags:

    @@ -5640,7 +5591,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgclipid =  0

    -

    [line 1629]

    +

    [line 1609]



    Tags:

    @@ -5670,7 +5621,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgclipmode =  false

    -

    [line 1615]

    +

    [line 1595]



    Tags:

    @@ -5700,7 +5651,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgclippaths = array()

    -

    [line 1622]

    +

    [line 1602]



    Tags:

    @@ -5730,7 +5681,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgdefs = array()

    -

    [line 1608]

    +

    [line 1588]



    Tags:

    @@ -5760,7 +5711,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgdefsmode =  false

    -

    [line 1601]

    +

    [line 1581]



    Tags:

    @@ -5790,7 +5741,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgdir =  ''

    -

    [line 1573]

    +

    [line 1553]



    Tags:

    @@ -5820,7 +5771,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svggradientid =  0

    -

    [line 1594]

    +

    [line 1574]



    Tags:

    @@ -5850,7 +5801,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svggradients = array()

    -

    [line 1587]

    +

    [line 1567]



    Tags:

    @@ -5880,7 +5831,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svginheritprop = array('clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cursor', 'direction', 'fill', 'fill-opacity', 'fill-rule', 'font', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'image-rendering', 'kerning', 'letter-spacing', 'marker', 'marker-end', 'marker-mid', 'marker-start', 'pointer-events', 'shape-rendering', 'stroke', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-rendering', 'visibility', 'word-spacing', 'writing-mode')

    -

    [line 1643]

    +

    [line 1623]



    Tags:

    @@ -5973,7 +5924,7 @@ This is a PHP class for generating PDF documents without requiring external exte          'writing-mode' => 'lr-tb',
             'text-color' => 'black',
             'transfmatrix' => array(1, 0, 0, 1, 0, 0))) -

    [line 1650]

    +

    [line 1630]



    Tags:

    @@ -6003,7 +5954,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgtext =  ''

    -

    [line 1636]

    +

    [line 1616]



    Tags:

    @@ -6033,7 +5984,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgunit =  'px'

    -

    [line 1580]

    +

    [line 1560]



    Tags:

    @@ -6063,7 +6014,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $tagvspaces = array()

    -

    [line 1117]

    +

    [line 1097]

    Array used for custom vertical spaces for HTML tags



    Tags:

    @@ -6144,7 +6095,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $textindent =  0

    -

    [line 1476]

    +

    [line 1456]

    Text indentation value (used for text-indent CSS attribute)



    Tags:

    @@ -6171,7 +6122,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $textrendermode =  0

    -

    [line 1532]

    +

    [line 1512]

    Text rendering mode: 0 = Fill text; 1 = Stroke text; 2 = Fill, then stroke text; 3 = Neither fill nor stroke text (invisible); 4 = Fill text and add to path for clipping; 5 = Stroke text and add to path for clipping; 6 = Fill, then stroke text and add to path for clipping; 7 = Add text to path for clipping.



    Tags:

    @@ -6198,7 +6149,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $textstrokewidth =  0

    -

    [line 1539]

    +

    [line 1519]

    Text stroke width in doc units



    Tags:

    @@ -6225,7 +6176,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $thead =  ''

    -

    [line 1266]

    +

    [line 1246]

    Table header content to be repeated on each new page



    Tags:

    @@ -6252,7 +6203,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $theadMargins = array()

    -

    [line 1273]

    +

    [line 1253]

    Margins used for table header.



    Tags:

    @@ -6360,7 +6311,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $tocpage =  false

    -

    [line 1559]

    +

    [line 1539]



    Tags:

    @@ -6387,7 +6338,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $transfmatrix = array()

    -

    [line 1089]

    +

    [line 1069]

    Array of transformation matrix



    Tags:

    @@ -6414,7 +6365,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $transfmatrix_key =  0

    -

    [line 1096]

    +

    [line 1076]

    Current key for transformation matrix



    Tags:

    @@ -6441,7 +6392,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $transfmrk = array()

    -

    [line 1154]

    +

    [line 1134]

    Array used to store positions of graphics transformation blocks inside the page buffer.

    keys are the page numbers




    Tags:

    @@ -6495,7 +6446,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $ur =

    -

    [line 855]

    +

    [line 835]

    If true enables user's rights on PDF reader



    Tags:

    @@ -6522,7 +6473,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $ur_annots =

    -

    [line 869]

    +

    [line 849]

    Names specifying additional annotation-related usage rights for the document.



    Tags:

    @@ -6549,7 +6500,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $ur_document =

    -

    [line 862]

    +

    [line 842]

    Names specifying additional document-wide usage rights for the document.



    Tags:

    @@ -6576,7 +6527,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $ur_form =

    -

    [line 876]

    +

    [line 856]

    Names specifying additional form-field-related usage rights for the document.



    Tags:

    @@ -6603,7 +6554,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $ur_signature =

    -

    [line 883]

    +

    [line 863]

    Names specifying additional signature-related usage rights for the document.



    Tags:

    @@ -6615,33 +6566,6 @@ This is a PHP class for generating PDF documents without requiring external exte access:  protected -
    - -
    -
    - - - - - -
    Type:  mixed
    -


    -
    [ Top ]

    - -

    -

    $Uvalue =

    -

    [line 758]

    - U entry in pdf document



    -

    Tags:

    -
    - - - - - - - -
    since:  2.0.000 (2008-01-02)
    access:  protected

    @@ -6657,7 +6581,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $viewer_preferences =

    -

    [line 960]

    +

    [line 940]

    PDF viewer preferences.



    Tags:

    @@ -6684,7 +6608,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $visibility =  'all'

    -

    [line 918]

    +

    [line 898]

    Restrict the rendering of some elements to screen or printout.



    Tags:

    @@ -6852,7 +6776,7 @@ This is a PHP class for generating PDF documents without requiring external exte
    -

    constructor __construct [line 1733]

    +

    constructor __construct [line 1713]

    @@ -6921,7 +6845,7 @@ $diskcache = false])
    -

    destructor __destruct [line 1861]

    +

    destructor __destruct [line 1842]

    @@ -6949,7 +6873,7 @@ $diskcache = false])
    -

    method AcceptPageBreak [line 3983]

    +

    method AcceptPageBreak [line 3964]

    @@ -6980,7 +6904,7 @@ $diskcache = false])
    -

    method addExtGState [line 12120]

    +

    method addExtGState [line 12468]

    @@ -7028,7 +6952,7 @@ $params)
    -

    method AddFont [line 3483]

    +

    method AddFont [line 3464]

    @@ -7085,7 +7009,7 @@ $fontfile = ''])
    -

    method addHtmlLink [line 8596]

    +

    method addHtmlLink [line 8572]

    @@ -7160,7 +7084,7 @@ $firstblock = false])
    -

    method addHTMLTOC [line 17704]

    +

    method addHTMLTOC [line 18052]

    @@ -7223,7 +7147,7 @@ $correct_align = true])
    -

    method addHTMLVertSpace [line 16473]

    +

    method addHTMLVertSpace [line 16821]

    @@ -7277,7 +7201,7 @@ $firstorlast = false])
    -

    method addJavascriptObject [line 10752]

    +

    method addJavascriptObject [line 11096]

    @@ -7328,7 +7252,7 @@ $onload = false])
    -

    method AddLink [line 3785]

    +

    method AddLink [line 3766]

    @@ -7359,7 +7283,7 @@ $onload = false])
    -

    method AddPage [line 2657]

    +

    method AddPage [line 2638]

    @@ -7419,7 +7343,7 @@ $tocpage = false])
    -

    method AddSpotColor [line 3102]

    +

    method AddSpotColor [line 3083]

    @@ -7485,7 +7409,7 @@ $k)
    -

    method addTOC [line 17554]

    +

    method addTOC [line 17902]

    @@ -7548,7 +7472,7 @@ $toc_name = 'TOC'])
    -

    method addTOCPage [line 2632]

    +

    method addTOCPage [line 2613]

    @@ -7602,7 +7526,7 @@ $keepmargins = false])
    -

    method AliasNbPages [line 11932]

    +

    method AliasNbPages [line 12280]

    @@ -7644,7 +7568,7 @@ $alias = '{nb}'])
    -

    method AliasNumPage [line 11959]

    +

    method AliasNumPage [line 12307]

    @@ -7686,7 +7610,7 @@ $alias = '{pnb}'])
    -

    method Annotation [line 3841]

    +

    method Annotation [line 3822]

    @@ -7761,7 +7685,7 @@ $spaces = 0])
    -

    method Arrow [line 9965]

    +

    method Arrow [line 10309]

    @@ -7839,7 +7763,7 @@ $arm_angle = 15])
    -

    method arrUTF8ToUTF16BE [line 8493]

    +

    method arrUTF8ToUTF16BE [line 8469]

    @@ -7914,7 +7838,7 @@ $setbom = true])
    -

    method Bookmark [line 10630]

    +

    method Bookmark [line 10974]

    @@ -7974,7 +7898,7 @@ $page = ''])
    -

    method Button [line 11639]

    +

    method Button [line 11983]

    @@ -8070,7 +7994,7 @@ $js = false])
    -

    method Cell [line 4060]

    +

    method Cell [line 4041]

    @@ -8178,7 +8102,7 @@ $valign = 'M'])
    -

    method CheckBox [line 11569]

    +

    method CheckBox [line 11913]

    @@ -8268,7 +8192,7 @@ $js = false])
    -

    method checkPageBreak [line 4010]

    +

    method checkPageBreak [line 3991]

    @@ -8322,7 +8246,7 @@ $addpage = true])
    -

    method Circle [line 9653]

    +

    method Circle [line 9997]

    @@ -8421,7 +8345,7 @@ $angend:)
    -

    method Clip [line 12581]

    +

    method Clip [line 12929]

    @@ -8481,7 +8405,7 @@ $h)
    -

    method Close [line 2527]

    +

    method Close [line 2508]

    @@ -8512,7 +8436,7 @@ $h)
    -

    method closeHTMLTagHandler [line 16083]

    +

    method closeHTMLTagHandler [line 16431]

    @@ -8572,7 +8496,7 @@ $dom)
    -

    method colorRegistrationBar [line 12256]

    +

    method colorRegistrationBar [line 12604]

    @@ -8650,7 +8574,7 @@ $colors = 'A,R,G,B,C,M,Y,K'])
    -

    method ComboBox [line 11508]

    +

    method ComboBox [line 11852]

    @@ -8740,7 +8664,7 @@ $js = false])
    -

    method commitTransaction [line 17816]

    +

    method commitTransaction [line 18164]

    @@ -8766,9 +8690,51 @@ $js = false])
    [ Top ]
    +
    + +

    method convertHexStringToString [line 9184]

    +
    +
    +
    + String convertHexStringToString( +string +$bs) +
    +

    + + Convert hexadecimal string to string



    +

    Tags:

    +
    + + + + + + + + + + +
    author:  Nicola Asuni
    since:  5.0.005 (2010-05-12)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $bs  byte-string to convert
    +

    +
    [ Top ]
    +

    -

    method convertHTMLColorToDec [line 8629]

    +

    method convertHTMLColorToDec [line 8605]

    @@ -8807,7 +8773,7 @@ $color = '#FFFFFF'])
    -

    method convertSVGtMatrix [line 18747]

    +

    method convertSVGtMatrix [line 19099]

    @@ -8849,7 +8815,7 @@ $tm)
    -

    method CoonsPatchMesh [line 12496]

    +

    method CoonsPatchMesh [line 12844]

    @@ -8957,7 +8923,7 @@ $antialias = false])
    -

    method copyPage [line 17486]

    +

    method copyPage [line 17834]

    @@ -8999,7 +8965,7 @@ $page = 0])
    -

    method cropMark [line 12354]

    +

    method cropMark [line 12702]

    @@ -9071,7 +9037,7 @@ $color = array(0,0,0)])
    -

    method Curve [line 9458]

    +

    method Curve [line 9802]

    @@ -9173,7 +9139,7 @@ $fill_color = array()])
    -

    method deletePage [line 17349]

    +

    method deletePage [line 17697]

    @@ -9215,7 +9181,7 @@ $page)
    -

    method Ellipse [line 9522]

    +

    method Ellipse [line 9866]

    @@ -9335,7 +9301,7 @@ $afinish:)
    -

    method empty_string [line 17870]

    +

    method empty_string [line 18218]

    @@ -9377,7 +9343,7 @@ $str)
    -

    method endPage [line 2677]

    +

    method endPage [line 2658]

    @@ -9419,7 +9385,7 @@ $tocpage = false])
    -

    method endSVGElementHandler [line 19774]

    +

    method endSVGElementHandler [line 20126]

    @@ -9467,7 +9433,7 @@ $name)
    -

    method endTOCPage [line 2642]

    +

    method endTOCPage [line 2623]

    @@ -9498,7 +9464,7 @@ $name)
    -

    method Error [line 2499]

    +

    method Error [line 2480]

    @@ -9537,7 +9503,7 @@ $msg)
    -

    method Footer [line 2925]

    +

    method Footer [line 2906]

    @@ -9562,7 +9528,7 @@ $msg)
    -

    method formatPageNumber [line 12036]

    +

    method formatPageNumber [line 12384]

    @@ -9601,7 +9567,7 @@ $num)
    -

    method formatTOCPageNumber [line 12048]

    +

    method formatTOCPageNumber [line 12396]

    @@ -9643,7 +9609,7 @@ $num)
    -

    method GetAbsX [line 5937]

    +

    method GetAbsX [line 5918]

    @@ -9674,7 +9640,7 @@ $num)
    -

    method getAliasNbPages [line 11944]

    +

    method getAliasNbPages [line 12292]

    @@ -9705,7 +9671,7 @@ $num)
    -

    method getAliasNumPage [line 11972]

    +

    method getAliasNumPage [line 12320]

    @@ -9736,7 +9702,7 @@ $num)
    -

    method getAnnotOptFromJSProp [line 10876]

    +

    method getAnnotOptFromJSProp [line 11220]

    @@ -9781,7 +9747,7 @@ $prop)
    -

    method GetArrStringWidth [line 3386]

    +

    method GetArrStringWidth [line 3367]

    @@ -9850,7 +9816,7 @@ $getarray = false])
    -

    method getBarcode [line 13231]

    +

    method getBarcode [line 13579]

    @@ -9878,7 +9844,7 @@ $getarray = false])
    -

    method getBorderMode [line 4684]

    +

    method getBorderMode [line 4665]

    @@ -9926,7 +9892,7 @@ $position = 'start'])
    -

    method getBreakMargin [line 2224]

    +

    method getBreakMargin [line 2205]

    @@ -9974,7 +9940,7 @@ $pagenum = ''])
    -

    method getBuffer [line 17035]

    +

    method getBuffer [line 17383]

    @@ -10005,7 +9971,7 @@ $pagenum = ''])
    -

    method getCellCode [line 4115]

    +

    method getCellCode [line 4096]

    @@ -10113,7 +10079,7 @@ $valign = 'M'])
    -

    method getCellHeightRatio [line 12216]

    +

    method getCellHeightRatio [line 12564]

    @@ -10141,7 +10107,7 @@ $valign = 'M'])
    -

    method GetCharWidth [line 3422]

    +

    method GetCharWidth [line 3403]

    @@ -10184,9 +10150,51 @@ $char)
    [ Top ]
    +
    + +

    method getEncPermissionsString [line 9205]

    +
    +
    +
    + String getEncPermissionsString( +string +$protection) +
    +

    + + Convert encryption P value to a string of bytes, low-order byte first.



    +

    Tags:

    +
    + + + + + + + + + + +
    author:  Nicola Asuni
    since:  5.0.005 (2010-05-12)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $protection  32bit encryption permission value (P value)
    +

    +
    [ Top ]
    +

    -

    method getFontAscent [line 3756]

    +

    method getFontAscent [line 3737]

    @@ -10240,7 +10248,7 @@ $size = 0])
    -

    method getFontBuffer [line 17195]

    +

    method getFontBuffer [line 17543]

    @@ -10282,7 +10290,7 @@ $font)
    -

    method getFontDescent [line 3735]

    +

    method getFontDescent [line 3716]

    @@ -10336,7 +10344,7 @@ $size = 0])
    -

    method getFontFamily [line 13716]

    +

    method getFontFamily [line 14064]

    @@ -10367,7 +10375,7 @@ $size = 0])
    -

    method getFontSize [line 13696]

    +

    method getFontSize [line 14044]

    @@ -10398,7 +10406,7 @@ $size = 0])
    -

    method getFontSizePt [line 13706]

    +

    method getFontSizePt [line 14054]

    @@ -10429,7 +10437,7 @@ $size = 0])
    -

    method getFontsList [line 3461]

    +

    method getFontsList [line 3442]

    @@ -10457,7 +10465,7 @@ $size = 0])
    -

    method getFontStyle [line 13726]

    +

    method getFontStyle [line 14074]

    @@ -10488,7 +10496,7 @@ $size = 0])
    -

    method getFooterFont [line 8554]

    +

    method getFooterFont [line 8530]

    @@ -10516,7 +10524,7 @@ $size = 0])
    -

    method getFooterMargin [line 2839]

    +

    method getFooterMargin [line 2820]

    @@ -10544,7 +10552,7 @@ $size = 0])
    -

    method getFormDefaultProp [line 11251]

    +

    method getFormDefaultProp [line 11595]

    @@ -10578,7 +10586,7 @@ $size = 0])
    -

    method getGDgamma [line 5877]

    +

    method getGDgamma [line 5858]

    @@ -10617,7 +10625,7 @@ $v)
    -

    method getGraphicVars [line 16899]

    +

    method getGraphicVars [line 17247]

    @@ -10648,7 +10656,7 @@ $v)
    -

    method getGroupPageNo [line 11985]

    +

    method getGroupPageNo [line 12333]

    @@ -10679,7 +10687,7 @@ $v)
    -

    method getGroupPageNoFormatted [line 11995]

    +

    method getGroupPageNoFormatted [line 12343]

    @@ -10710,7 +10718,7 @@ $v)
    -

    method getHeaderData [line 2794]

    +

    method getHeaderData [line 2775]

    @@ -10738,7 +10746,7 @@ $v)
    -

    method getHeaderFont [line 8534]

    +

    method getHeaderFont [line 8510]

    @@ -10766,7 +10774,7 @@ $v)
    -

    method getHeaderMargin [line 2819]

    +

    method getHeaderMargin [line 2800]

    @@ -10794,7 +10802,7 @@ $v)
    -

    method getHtmlDomArray [line 13762]

    +

    method getHtmlDomArray [line 14110]

    @@ -10833,7 +10841,7 @@ $html)
    -

    method getHTMLUnitToUnits [line 16619]

    +

    method getHTMLUnitToUnits [line 16967]

    @@ -10899,7 +10907,7 @@ $point)
    -

    method getHyphenPatternsFromTEX [line 18138]

    +

    method getHyphenPatternsFromTEX [line 18490]

    @@ -10944,7 +10952,7 @@ $file)
    -

    method getImageBuffer [line 17137]

    +

    method getImageBuffer [line 17485]

    @@ -10986,7 +10994,7 @@ $image)
    -

    method getImageFileType [line 5255]

    +

    method getImageFileType [line 5236]

    @@ -11034,7 +11042,7 @@ $iminfo = array()])
    -

    method getImageRBX [line 2865]

    +

    method getImageRBX [line 2846]

    @@ -11059,7 +11067,7 @@ $iminfo = array()])
    -

    method getImageRBY [line 2874]

    +

    method getImageRBY [line 2855]

    @@ -11084,7 +11092,7 @@ $iminfo = array()])
    -

    method getImageScale [line 2163]

    +

    method getImageScale [line 2144]

    @@ -11118,7 +11126,7 @@ $iminfo = array()])
    -

    method getLastH [line 2141]

    +

    method getLastH [line 2122]

    @@ -11149,7 +11157,7 @@ $iminfo = array()])
    -

    method GetLineWidth [line 9204]

    +

    method GetLineWidth [line 9548]

    @@ -11183,7 +11191,7 @@ $iminfo = array()])
    -

    method getMargins [line 13659]

    +

    method getMargins [line 14007]

    @@ -11214,7 +11222,7 @@ $iminfo = array()])
    -

    method GetNumChars [line 3449]

    +

    method GetNumChars [line 3430]

    @@ -11256,7 +11264,7 @@ $s)
    -

    method getNumLines [line 4772]

    +

    method getNumLines [line 4753]

    @@ -11309,7 +11317,7 @@ $w = 0])
    -

    method getNumPages [line 2620]

    +

    method getNumPages [line 2601]

    @@ -11343,7 +11351,7 @@ $w = 0])
    -

    method getObjFilename [line 16967]

    +

    method getObjFilename [line 17315]

    @@ -11388,7 +11396,7 @@ $prefix)
    -

    method getOriginalMargins [line 13682]

    +

    method getOriginalMargins [line 14030]

    @@ -11419,7 +11427,7 @@ $prefix)
    -

    method getPage [line 2608]

    +

    method getPage [line 2589]

    @@ -11453,7 +11461,7 @@ $prefix)
    -

    method getPageBuffer [line 17078]

    +

    method getPageBuffer [line 17426]

    @@ -11495,7 +11503,7 @@ $page)
    -

    method getPageDimensions [line 2176]

    +

    method getPageDimensions [line 2157]

    @@ -11540,7 +11548,7 @@ $pagenum = ''])
    -

    method getPageGroupAlias [line 12007]

    +

    method getPageGroupAlias [line 12355]

    @@ -11571,7 +11579,7 @@ $pagenum = ''])
    -

    method getPageHeight [line 2208]

    +

    method getPageHeight [line 2189]

    @@ -11619,7 +11627,7 @@ $pagenum = ''])
    -

    method getPageNumGroupAlias [line 12022]

    +

    method getPageNumGroupAlias [line 12370]

    @@ -11650,7 +11658,7 @@ $pagenum = ''])
    -

    method getPageWidth [line 2192]

    +

    method getPageWidth [line 2173]

    @@ -11698,7 +11706,7 @@ $pagenum = ''])
    -

    method getPathPaintOperator [line 18250]

    +

    method getPathPaintOperator [line 18602]

    @@ -11752,7 +11760,7 @@ $mode)
    -

    method getPDFData [line 8577]

    +

    method getPDFData [line 8553]

    @@ -11777,7 +11785,7 @@ $mode)
    -

    method getRemainingWidth [line 5156]

    +

    method getRemainingWidth [line 5137]

    @@ -11805,7 +11813,7 @@ $mode)
    -

    method getRTL [line 2076]

    +

    method getRTL [line 2057]

    @@ -11833,7 +11841,7 @@ $mode)
    -

    method getScaleFactor [line 2238]

    +

    method getScaleFactor [line 2219]

    @@ -11867,7 +11875,7 @@ $mode)
    -

    method getSpaceString [line 14305]

    +

    method getSpaceString [line 14653]

    @@ -11898,7 +11906,7 @@ $mode)
    -

    method GetStringWidth [line 3370]

    +

    method GetStringWidth [line 3351]

    @@ -11967,7 +11975,7 @@ $getarray = false])
    -

    method getSVGTransformMatrix [line 18625]

    +

    method getSVGTransformMatrix [line 18977]

    @@ -12012,7 +12020,7 @@ $attribute)
    -

    method getTransformationMatrixProduct [line 18729]

    +

    method getTransformationMatrixProduct [line 19081]

    @@ -12061,9 +12069,57 @@ $tb)
    [ Top ]
    +
    + +

    method getUserPermissionCode [line 9063]

    +
    +
    +
    + void getUserPermissionCode( +Array +$permissions, [int +$mode = 0]) +
    +

    + + Return the premission code used on encryption (P value).



    +

    Tags:

    +
    + + + + + + + + + + +
    author:  Nicola Asuni
    since:  5.0.005 (2010-05-12)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + + + + + + +
    Array  $permissions  the set of permissions (specify the ones you want to block).
    int  $mode  encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit.
    +

    +
    [ Top ]
    +

    -

    method getVectorsAngle [line 19360]

    +

    method getVectorsAngle [line 19712]

    @@ -12123,7 +12179,7 @@ $y2)
    -

    method GetX [line 5921]

    +

    method GetX [line 5902]

    @@ -12154,7 +12210,7 @@ $y2)
    -

    method GetY [line 5948]

    +

    method GetY [line 5929]

    @@ -12185,7 +12241,7 @@ $y2)
    -

    method get_mqr [line 5595]

    +

    method get_mqr [line 5576]

    @@ -12216,7 +12272,7 @@ $y2)
    -

    method Gradient [line 12605]

    +

    method Gradient [line 12953]

    @@ -12282,7 +12338,7 @@ $antialias = false])
    -

    method Header [line 2883]

    +

    method Header [line 2864]

    @@ -12307,7 +12363,7 @@ $antialias = false])
    -

    method hyphenateText [line 18177]

    +

    method hyphenateText [line 18529]

    @@ -12388,7 +12444,7 @@ $charmax = 8])
    -

    method hyphenateWord [line 18068]

    +

    method hyphenateWord [line 18420]

    @@ -12469,7 +12525,7 @@ $charmax = 8])
    -

    method Image [line 5305]

    +

    method Image [line 5286]

    @@ -12607,7 +12663,7 @@ $fitonpage = false])
    -

    method ImageEps [line 12945]

    +

    method ImageEps [line 13293]

    @@ -12709,7 +12765,7 @@ $fitonpage = false])
    -

    method ImagePngAlpha [line 5833]

    +

    method ImagePngAlpha [line 5814]

    @@ -12814,7 +12870,7 @@ $palign = ''])
    -

    method ImageSVG [line 18341]

    +

    method ImageSVG [line 18693]

    @@ -12910,7 +12966,7 @@ $fitonpage = false])
    -

    method IncludeJS [line 10739]

    +

    method IncludeJS [line 11083]

    @@ -12952,7 +13008,7 @@ $script)
    -

    method intToRoman [line 16693]

    +

    method intToRoman [line 17041]

    @@ -12994,7 +13050,7 @@ $number)
    -

    method isRTLTextDir [line 2120]

    +

    method isRTLTextDir [line 2101]

    @@ -13022,7 +13078,7 @@ $number)
    -

    method lastPage [line 2597]

    +

    method lastPage [line 2578]

    @@ -13064,7 +13120,7 @@ $resetmargins = false])
    -

    method Line [line 9374]

    +

    method Line [line 9718]

    @@ -13130,7 +13186,7 @@ $style = array()])
    -

    method LinearGradient [line 12455]

    +

    method LinearGradient [line 12803]

    @@ -13208,7 +13264,7 @@ $coords = array(0,0,1,0)])
    -

    method Link [line 3824]

    +

    method Link [line 3805]

    @@ -13280,7 +13336,7 @@ $spaces = 0])
    -

    method ListBox [line 11448]

    +

    method ListBox [line 11792]

    @@ -13370,7 +13426,7 @@ $js = false])
    -

    method Ln [line 5890]

    +

    method Ln [line 5871]

    @@ -13418,7 +13474,7 @@ $cell = false])
    -

    method MirrorH [line 8986]

    +

    method MirrorH [line 9330]

    @@ -13460,7 +13516,7 @@ $x = ''])
    -

    method MirrorL [line 9022]

    +

    method MirrorL [line 9366]

    @@ -13514,7 +13570,7 @@ $y = ''])
    -

    method MirrorP [line 9009]

    +

    method MirrorP [line 9353]

    @@ -13562,7 +13618,7 @@ $y = ''])
    -

    method MirrorV [line 8997]

    +

    method MirrorV [line 9341]

    @@ -13604,7 +13660,7 @@ $y = ''])
    -

    method movePage [line 17212]

    +

    method movePage [line 17560]

    @@ -13652,7 +13708,7 @@ $topage)
    -

    method MultiCell [line 4525]

    +

    method MultiCell [line 4506]

    @@ -13778,7 +13834,7 @@ $maxh = 0])
    -

    method objclone [line 17859]

    +

    method objclone [line 18207]

    @@ -13820,7 +13876,7 @@ $object)
    -

    method Open [line 2514]

    +

    method Open [line 2495]

    @@ -13851,7 +13907,7 @@ $object)
    -

    method openHTMLTagHandler [line 15470]

    +

    method openHTMLTagHandler [line 15818]

    @@ -13905,7 +13961,7 @@ $dom)
    -

    method Output [line 6040]

    +

    method Output [line 6021]

    @@ -13953,7 +14009,7 @@ $dest = 'I'])
    -

    method PageNo [line 3086]

    +

    method PageNo [line 3067]

    @@ -13987,7 +14043,7 @@ $dest = 'I'])
    -

    method PageNoFormatted [line 12058]

    +

    method PageNoFormatted [line 12406]

    @@ -14018,7 +14074,7 @@ $dest = 'I'])
    -

    method PieSector [line 12884]

    +

    method PieSector [line 13232]

    @@ -14114,7 +14170,7 @@ $o:)
    -

    method PieSectorXY [line 12905]

    +

    method PieSectorXY [line 13253]

    @@ -14222,7 +14278,7 @@ $o:)
    -

    method pixelsToUnits [line 8686]

    +

    method pixelsToUnits [line 8662]

    @@ -14264,7 +14320,7 @@ $px)
    -

    method Polycurve [line 9485]

    +

    method Polycurve [line 9829]

    @@ -14336,7 +14392,7 @@ $fill_color = array()])
    -

    method Polygon [line 9691]

    +

    method Polygon [line 10035]

    @@ -14399,7 +14455,7 @@ $closed = true])
    -

    method PolyLine [line 9672]

    +

    method PolyLine [line 10016]

    @@ -14462,7 +14518,7 @@ $closed)
    -

    method putHtmlListBullet [line 16758]

    +

    method putHtmlListBullet [line 17106]

    @@ -14513,7 +14569,7 @@ $size = 10])
    -

    method RadialGradient [line 12473]

    +

    method RadialGradient [line 12821]

    @@ -14591,7 +14647,7 @@ $coords = array(0.5,0.5,0.5,0.5,1)])
    -

    method RadioButton [line 11360]

    +

    method RadioButton [line 11704]

    @@ -14681,7 +14737,7 @@ $js = false])
    -

    method readDiskCache [line 17007]

    +

    method readDiskCache [line 17355]

    @@ -14729,7 +14785,7 @@ $file)
    -

    method Rect [line 9402]

    +

    method Rect [line 9746]

    @@ -14807,7 +14863,7 @@ $fill_color = array()])
    -

    method registrationMark [line 12424]

    +

    method registrationMark [line 12772]

    @@ -14879,7 +14935,7 @@ $colb = array(255,255,255)])
    -

    method RegularPolygon [line 9789]

    +

    method RegularPolygon [line 10133]

    @@ -14990,7 +15046,7 @@ $r:)
    -

    method removeSHY [line 4078]

    +

    method removeSHY [line 4059]

    @@ -15032,7 +15088,7 @@ $txt = ''])
    -

    method revstrpos [line 17883]

    +

    method revstrpos [line 18231]

    @@ -15086,7 +15142,7 @@ $offset = 0])
    -

    method rfread [line 5803]

    +

    method rfread [line 5784]

    @@ -15137,7 +15193,7 @@ $length)
    -

    method rollbackTransaction [line 17830]

    +

    method rollbackTransaction [line 18178]

    @@ -15179,7 +15235,7 @@ $self = false])
    -

    method Rotate [line 9078]

    +

    method Rotate [line 9422]

    @@ -15233,7 +15289,7 @@ $y = ''])
    -

    method RoundedRect [line 9879]

    +

    method RoundedRect [line 10223]

    @@ -15320,7 +15376,7 @@ $fill_color = array()])
    -

    method RoundedRectXY [line 9898]

    +

    method RoundedRectXY [line 10242]

    @@ -15413,7 +15469,7 @@ $fill_color = array()])
    -

    method Scale [line 8954]

    +

    method Scale [line 9298]

    @@ -15473,7 +15529,7 @@ $y = ''])
    -

    method ScaleX [line 8914]

    +

    method ScaleX [line 9258]

    @@ -15527,7 +15583,7 @@ $y = ''])
    -

    method ScaleXY [line 8940]

    +

    method ScaleXY [line 9284]

    @@ -15581,7 +15637,7 @@ $y = ''])
    -

    method ScaleY [line 8927]

    +

    method ScaleY [line 9271]

    @@ -15635,7 +15691,7 @@ $y = ''])
    -

    method segSVGContentHandler [line 19812]

    +

    method segSVGContentHandler [line 20164]

    @@ -15683,7 +15739,7 @@ $data)
    -

    method selectColumn [line 17946]

    +

    method selectColumn [line 18294]

    @@ -15722,7 +15778,7 @@ $col = ''])
    -

    method serializeTCPDFtagParameters [line 17993]

    +

    method serializeTCPDFtagParameters [line 18345]

    @@ -15764,7 +15820,7 @@ $pararray)
    -

    method setAlpha [line 12173]

    +

    method setAlpha [line 12521]

    @@ -15809,7 +15865,7 @@ $bm = 'Normal'])
    -

    method SetAuthor [line 2463]

    +

    method SetAuthor [line 2444]

    @@ -15851,7 +15907,7 @@ $author)
    -

    method SetAutoPageBreak [line 2330]

    +

    method SetAutoPageBreak [line 2311]

    @@ -15899,7 +15955,7 @@ $margin = 0])
    -

    method setBarcode [line 13221]

    +

    method setBarcode [line 13569]

    @@ -15935,7 +15991,7 @@ $bc = ''])
    -

    method SetBooklet [line 16533]

    +

    method SetBooklet [line 16881]

    @@ -15986,7 +16042,7 @@ $outer = -1])
    -

    method setBuffer [line 17017]

    +

    method setBuffer [line 17365]

    @@ -16025,7 +16081,7 @@ $data)
    -

    method setCellHeightRatio [line 12207]

    +

    method setCellHeightRatio [line 12555]

    @@ -16064,7 +16120,7 @@ $h)
    -

    method SetCellPadding [line 2318]

    +

    method SetCellPadding [line 2299]

    @@ -16106,7 +16162,7 @@ $pad)
    -

    method setColumnsArray [line 17933]

    +

    method setColumnsArray [line 18281]

    @@ -16145,7 +16201,7 @@ $columns)
    -

    method SetCompression [line 2423]

    +

    method SetCompression [line 2404]

    @@ -16184,7 +16240,7 @@ $compress)
    -

    method setContentMark [line 2761]

    +

    method setContentMark [line 2742]

    @@ -16223,7 +16279,7 @@ $page = 0])
    -

    method SetCreator [line 2487]

    +

    method SetCreator [line 2468]

    @@ -16265,7 +16321,7 @@ $creator)
    -

    method SetDefaultMonospacedFont [line 3774]

    +

    method SetDefaultMonospacedFont [line 3755]

    @@ -16304,7 +16360,7 @@ $font)
    -

    method setDefaultTableColumns [line 12197]

    +

    method setDefaultTableColumns [line 12545]

    @@ -16343,7 +16399,7 @@ $cols = 4])
    -

    method SetDisplayMode [line 2345]

    +

    method SetDisplayMode [line 2326]

    @@ -16394,7 +16450,7 @@ $mode = 'UseNone'])
    -

    method SetDrawColor [line 3141]

    +

    method SetDrawColor [line 3122]

    @@ -16454,7 +16510,7 @@ $col4 = -1])
    -

    method SetDrawColorArray [line 3118]

    +

    method SetDrawColorArray [line 3099]

    @@ -16496,7 +16552,7 @@ $color)
    -

    method SetDrawSpotColor [line 3182]

    +

    method SetDrawSpotColor [line 3163]

    @@ -16544,7 +16600,7 @@ $tint = 100])
    -

    method setEqualColumns [line 17900]

    +

    method setEqualColumns [line 18248]

    @@ -16595,7 +16651,7 @@ $y = ''])
    -

    method setExtGState [line 12139]

    +

    method setExtGState [line 12487]

    @@ -16634,7 +16690,7 @@ $gs)
    -

    method SetFillColor [line 3224]

    +

    method SetFillColor [line 3205]

    @@ -16694,7 +16750,7 @@ $col4 = -1])
    -

    method SetFillColorArray [line 3201]

    +

    method SetFillColorArray [line 3182]

    @@ -16736,7 +16792,7 @@ $color)
    -

    method SetFillSpotColor [line 3266]

    +

    method SetFillSpotColor [line 3247]

    @@ -16784,7 +16840,7 @@ $tint = 100])
    -

    method SetFont [line 3687]

    +

    method SetFont [line 3668]

    @@ -16844,7 +16900,7 @@ $fontfile = ''])
    -

    method setFontBuffer [line 17153]

    +

    method setFontBuffer [line 17501]

    @@ -16889,7 +16945,7 @@ $data)
    -

    method SetFontSize [line 3707]

    +

    method SetFontSize [line 3688]

    @@ -16931,7 +16987,7 @@ $size)
    -

    method setFontSubBuffer [line 17175]

    +

    method setFontSubBuffer [line 17523]

    @@ -16982,7 +17038,7 @@ $data)
    -

    method setFooter [line 2996]

    +

    method setFooter [line 2977]

    @@ -17010,7 +17066,7 @@ $data)
    -

    method setFooterFont [line 8544]

    +

    method setFooterFont [line 8520]

    @@ -17049,7 +17105,7 @@ $font)
    -

    method setFooterMargin [line 2829]

    +

    method setFooterMargin [line 2810]

    @@ -17085,7 +17141,7 @@ $fm = 10])
    -

    method setFormDefaultProp [line 11240]

    +

    method setFormDefaultProp [line 11584]

    @@ -17127,7 +17183,7 @@ $prop = array()])
    -

    method setGraphicVars [line 16932]

    +

    method setGraphicVars [line 17280]

    @@ -17166,7 +17222,7 @@ $gvars)
    -

    method setHeader [line 2960]

    +

    method setHeader [line 2941]

    @@ -17194,7 +17250,7 @@ $gvars)
    -

    method setHeaderData [line 2780]

    +

    method setHeaderData [line 2761]

    @@ -17248,7 +17304,7 @@ $hs = ''])
    -

    method setHeaderFont [line 8524]

    +

    method setHeaderFont [line 8500]

    @@ -17287,7 +17343,7 @@ $font)
    -

    method setHeaderMargin [line 2809]

    +

    method setHeaderMargin [line 2790]

    @@ -17323,7 +17379,7 @@ $hm = 10])
    -

    method setHtmlLinksStyle [line 16604]

    +

    method setHtmlLinksStyle [line 16952]

    @@ -17368,7 +17424,7 @@ $fontstyle = 'U'])
    -

    method setHtmlVSpace [line 16573]

    +

    method setHtmlVSpace [line 16921]

    @@ -17407,7 +17463,7 @@ $tagvs)
    -

    method setImageBuffer [line 17094]

    +

    method setImageBuffer [line 17442]

    @@ -17452,7 +17508,7 @@ $data)
    -

    method setImageScale [line 2152]

    +

    method setImageScale [line 2133]

    @@ -17494,7 +17550,7 @@ $scale)
    -

    method setImageSubBuffer [line 17117]

    +

    method setImageSubBuffer [line 17465]

    @@ -17545,7 +17601,7 @@ $data)
    -

    method setJPEGQuality [line 12184]

    +

    method setJPEGQuality [line 12532]

    @@ -17584,7 +17640,7 @@ $quality)
    -

    method SetKeywords [line 2475]

    +

    method SetKeywords [line 2456]

    @@ -17626,7 +17682,7 @@ $keywords)
    -

    method setLanguageArray [line 8564]

    +

    method setLanguageArray [line 8540]

    @@ -17665,7 +17721,7 @@ $language)
    -

    method setLastH [line 2131]

    +

    method setLastH [line 2112]

    @@ -17707,7 +17763,7 @@ $h)
    -

    method SetLeftMargin [line 2274]

    +

    method SetLeftMargin [line 2255]

    @@ -17749,7 +17805,7 @@ $margin)
    -

    method SetLineStyle [line 9229]

    +

    method SetLineStyle [line 9573]

    @@ -17795,7 +17851,7 @@ $style)
    -

    method SetLineWidth [line 9188]

    +

    method SetLineWidth [line 9532]

    @@ -17837,7 +17893,7 @@ $width)
    -

    method SetLink [line 3801]

    +

    method SetLink [line 3782]

    @@ -17891,7 +17947,7 @@ $page = -1])
    -

    method setListIndentWidth [line 16583]

    +

    method setListIndentWidth [line 16931]

    @@ -17930,7 +17986,7 @@ $width)
    -

    method setLIsymbol [line 16494]

    +

    method setLIsymbol [line 16842]

    @@ -17969,7 +18025,7 @@ $symbol = '!'])
    -

    method SetMargins [line 2252]

    +

    method SetMargins [line 2233]

    @@ -18029,7 +18085,7 @@ $keepmargins = false])
    -

    method setOpenCell [line 16593]

    +

    method setOpenCell [line 16941]

    @@ -18068,7 +18124,7 @@ $isopen)
    -

    method setPage [line 2550]

    +

    method setPage [line 2531]

    @@ -18116,7 +18172,7 @@ $resetmargins = false])
    -

    method setPageBuffer [line 17051]

    +

    method setPageBuffer [line 17399]

    @@ -18167,7 +18223,7 @@ $append = false])
    -

    method setPageFormat [line 1920]

    +

    method setPageFormat [line 1901]

    @@ -18212,7 +18268,7 @@ $orientation = 'P'])
    -

    method setPageMark [line 2749]

    +

    method setPageMark [line 2730]

    @@ -18240,7 +18296,7 @@ $orientation = 'P'])
    -

    method setPageOrientation [line 1993]

    +

    method setPageOrientation [line 1974]

    @@ -18291,7 +18347,7 @@ $bottommargin = ''])
    -

    method setPageUnit [line 1876]

    +

    method setPageUnit [line 1857]

    @@ -18330,7 +18386,7 @@ $unit)
    -

    method setPDFVersion [line 12226]

    +

    method setPDFVersion [line 12574]

    @@ -18369,7 +18425,7 @@ $version = '1.7'])
    -

    method setPrintFooter [line 2856]

    +

    method setPrintFooter [line 2837]

    @@ -18411,7 +18467,7 @@ $value)
    -

    method setPrintHeader [line 2847]

    +

    method setPrintHeader [line 2828]

    @@ -18447,24 +18503,26 @@ $val = true])
    -

    method SetProtection [line 8854]

    +

    method SetProtection [line 9107]

    void SetProtection( [Array -$permissions = array()], [String +$permissions = array('print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble', 'print-high')], [String $user_pass = ''], [String -$owner_pass = null]) +$owner_pass = null], [int +$mode = 0], [String +$pubkeys = null])

    - Set document protection

    The permission array is composed of values taken from the following ones:

    • copy: copy text and images to the clipboard
    • print: print the document
    • modify: modify it (except for annotations and forms)
    • annot-forms: add annotations and forms
    Remark: the protection against modification is for people who have the full Acrobat product. If you don't set any password, the document will open as usual. If you set a user password, the PDF viewer will ask for it before displaying the document. The master password, if different from the user one, can be used to get full access. Note: protecting a document requires to encrypt it, which increases the processing time a lot. This can cause a PHP time-out in some cases, especially if the document contains images or fonts.




    + Set document protection Remark: the protection against modification is for people who have the full Acrobat product.

    If you don't set any password, the document will open as usual. If you set a user password, the PDF viewer will ask for it before displaying the document. The master password, if different from the user one, can be used to get full access. Note: protecting a document requires to encrypt it, which increases the processing time a lot. This can cause a PHP time-out in some cases, especially if the document contains images or fonts.




    Tags:

    - + @@ -18483,7 +18541,7 @@ $owner_pass = null]) - + @@ -18494,6 +18552,16 @@ $owner_pass = null]) + + + + + + + + + +
    author:  Klemen Vodopivecauthor:  Nicola Asuni
    since:  2.0.000 (2008-01-02)
    Array   $permissions  the set of permissions. Empty by default (only viewing is allowed). (print, modify, copy, annot-forms)the set of permissions (specify the ones you want to block):
    • print : Print the document;
    • modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble';
    • copy : Copy or otherwise extract text and graphics from the document;
    • annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields);
    • fill-forms : Fill in existing interactive form fields (including signature fields), even if 'annot-forms' is not specified;
    • extract : Extract text and graphics (in support of accessibility to users with disabilities or for other purposes);
    • assemble : Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if 'modify' is not set;
    • print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality.
    • owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions.
    String   String   $owner_pass   owner password. If not specified, a random value is used.
    int  $mode  encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit.
    String  $pubkeys  array of recipients containing public-key certificates ('c') and permissions ('p'). For example: array(array('c' => 'file://../tcpdf.crt', 'p' => array('print')))

    @@ -18501,7 +18569,7 @@ $owner_pass = null])

    -

    method setRasterizeVectorImages [line 18224]

    +

    method setRasterizeVectorImages [line 18576]

    @@ -18540,7 +18608,7 @@ $mode)
    -

    method SetRightMargin [line 2304]

    +

    method SetRightMargin [line 2285]

    @@ -18582,7 +18650,7 @@ $margin)
    -

    method setRTL [line 2060]

    +

    method setRTL [line 2041]

    @@ -18627,7 +18695,7 @@ $resetx = true])
    -

    method setSignature [line 11889]

    +

    method setSignature [line 12236]

    @@ -18642,7 +18710,7 @@ $info = array()])

    - Enable document signature (requires the OpenSSL Library).

    The digital signature improve document authenticity and integrity and allows o enable extra features on Acrobat Reader.




    + Enable document signature (requires the OpenSSL Library).

    The digital signature improve document authenticity and integrity and allows o enable extra features on Acrobat Reader. To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes




    Tags:

    @@ -18699,7 +18767,7 @@ $info = array()])
    -

    method setSpacesRE [line 2045]

    +

    method setSpacesRE [line 2026]

    @@ -18738,7 +18806,7 @@ $re = '/[\s]/'])
    -

    method SetSubject [line 2451]

    +

    method SetSubject [line 2432]

    @@ -18780,7 +18848,7 @@ $subject)
    -

    method setSVGStyles [line 18786]

    +

    method setSVGStyles [line 19138]

    @@ -18864,7 +18932,7 @@ $clip_params = array()])
    -

    method setTableHeader [line 3042]

    +

    method setTableHeader [line 3023]

    @@ -18892,7 +18960,7 @@ $clip_params = array()])
    -

    method setTempRTL [line 2086]

    +

    method setTempRTL [line 2067]

    @@ -18931,7 +18999,7 @@ $mode)
    -

    method SetTextColor [line 3308]

    +

    method SetTextColor [line 3289]

    @@ -18991,7 +19059,7 @@ $col4 = -1])
    -

    method SetTextColorArray [line 3285]

    +

    method SetTextColorArray [line 3266]

    @@ -19033,7 +19101,7 @@ $color)
    -

    method setTextRenderingMode [line 18005]

    +

    method setTextRenderingMode [line 18357]

    @@ -19084,7 +19152,7 @@ $clip = false])
    -

    method SetTextSpotColor [line 3347]

    +

    method SetTextSpotColor [line 3328]

    @@ -19132,7 +19200,7 @@ $tint = 100])
    -

    method SetTitle [line 2439]

    +

    method SetTitle [line 2420]

    @@ -19174,7 +19242,7 @@ $title)
    -

    method SetTopMargin [line 2289]

    +

    method SetTopMargin [line 2270]

    @@ -19216,7 +19284,7 @@ $margin)
    -

    method setUserRights [line 11859]

    +

    method setUserRights [line 12203]

    @@ -19282,7 +19350,7 @@ $signature = '/Modify'])
    -

    method setViewerPreferences [line 12239]

    +

    method setViewerPreferences [line 12587]

    @@ -19324,7 +19392,7 @@ $preferences)
    -

    method setVisibility [line 12084]

    +

    method setVisibility [line 12432]

    @@ -19363,7 +19431,7 @@ $v)
    -

    method SetX [line 5961]

    +

    method SetX [line 5942]

    @@ -19411,7 +19479,7 @@ $rtloff = false])
    -

    method SetXY [line 6025]

    +

    method SetXY [line 6006]

    @@ -19465,7 +19533,7 @@ $rtloff = false])
    -

    method SetY [line 5993]

    +

    method SetY [line 5974]

    @@ -19519,7 +19587,7 @@ $rtloff = false])
    -

    method set_mqr [line 5580]

    +

    method set_mqr [line 5561]

    @@ -19558,7 +19626,7 @@ $mqr)
    -

    method Skew [line 9134]

    +

    method Skew [line 9478]

    @@ -19618,7 +19686,7 @@ $y = ''])
    -

    method SkewX [line 9107]

    +

    method SkewX [line 9451]

    @@ -19672,7 +19740,7 @@ $y = ''])
    -

    method SkewY [line 9120]

    +

    method SkewY [line 9464]

    @@ -19726,7 +19794,7 @@ $y = ''])
    -

    method StarPolygon [line 9837]

    +

    method StarPolygon [line 10181]

    @@ -19850,7 +19918,7 @@ $draw_circle:)
    -

    method startPage [line 2705]

    +

    method startPage [line 2686]

    @@ -19904,7 +19972,7 @@ $tocpage = false])
    -

    method startPageGroup [line 11917]

    +

    method startPageGroup [line 12265]

    @@ -19943,7 +20011,7 @@ $page = ''])
    -

    method startSVGElementHandler [line 19383]

    +

    method startSVGElementHandler [line 19735]

    @@ -19997,7 +20065,7 @@ $attribs)
    -

    method startTransaction [line 17799]

    +

    method startTransaction [line 18147]

    @@ -20025,7 +20093,7 @@ $attribs)
    -

    method StartTransform [line 8882]

    +

    method StartTransform [line 9226]

    @@ -20056,7 +20124,7 @@ $attribs)
    -

    method StopTransform [line 8897]

    +

    method StopTransform [line 9241]

    @@ -20087,7 +20155,7 @@ $attribs)
    -

    method SVGPath [line 19042]

    +

    method SVGPath [line 19394]

    @@ -20138,7 +20206,7 @@ $style = ''])
    -

    method SVGTransform [line 18767]

    +

    method SVGTransform [line 19119]

    @@ -20177,7 +20245,7 @@ $tm)
    -

    method swapMargins [line 16549]

    +

    method swapMargins [line 16897]

    @@ -20216,7 +20284,7 @@ $reverse = true])
    -

    method Text [line 3963]

    +

    method Text [line 3944]

    @@ -20348,7 +20416,7 @@ $rtloff = false])
    -

    method TextField [line 11269]

    +

    method TextField [line 11613]

    @@ -20432,7 +20500,7 @@ $js = false])
    -

    method Transform [line 9164]

    +

    method Transform [line 9508]

    @@ -20474,7 +20542,7 @@ $tm)
    -

    method Translate [line 9057]

    +

    method Translate [line 9401]

    @@ -20522,7 +20590,7 @@ $t_y)
    -

    method TranslateX [line 9034]

    +

    method TranslateX [line 9378]

    @@ -20564,7 +20632,7 @@ $t_x)
    -

    method TranslateY [line 9045]

    +

    method TranslateY [line 9389]

    @@ -20606,7 +20674,7 @@ $t_y)
    -

    method unhtmlentities [line 8697]

    +

    method unhtmlentities [line 8673]

    @@ -20645,7 +20713,7 @@ $text_to_convert)
    -

    method UniArrSubString [line 5195]

    +

    method UniArrSubString [line 5176]

    @@ -20699,7 +20767,7 @@ $end = ''])
    -

    method unichr [line 5228]

    +

    method unichr [line 5209]

    @@ -20744,7 +20812,7 @@ $c)
    -

    method UTF8ArrayToUniArray [line 5216]

    +

    method UTF8ArrayToUniArray [line 5197]

    @@ -20786,7 +20854,7 @@ $ta)
    -

    method UTF8ArrSubString [line 5172]

    +

    method UTF8ArrSubString [line 5153]

    @@ -20837,7 +20905,7 @@ $end = ''])
    -

    method UTF8ArrToLatin1 [line 8434]

    +

    method UTF8ArrToLatin1 [line 8410]

    @@ -20879,7 +20947,7 @@ $unicode)
    -

    method utf8Bidi [line 10059]

    +

    method utf8Bidi [line 10403]

    @@ -20936,7 +21004,7 @@ $forcertl = false])
    -

    method utf8StrArrRev [line 10045]

    +

    method utf8StrArrRev [line 10389]

    @@ -20996,7 +21064,7 @@ $forcertl = false])
    -

    method UTF8StringToArray [line 8297]

    +

    method UTF8StringToArray [line 8273]

    @@ -21062,7 +21130,7 @@ $str)
    -

    method utf8StrRev [line 10030]

    +

    method utf8StrRev [line 10374]

    @@ -21116,7 +21184,7 @@ $forcertl = false])
    -

    method UTF8ToLatin1 [line 8404]

    +

    method UTF8ToLatin1 [line 8380]

    @@ -21158,7 +21226,7 @@ $str)
    -

    method UTF8ToUTF16BE [line 8388]

    +

    method UTF8ToUTF16BE [line 8364]

    @@ -21209,7 +21277,7 @@ $setbom = true])
    -

    method Write [line 4816]

    +

    method Write [line 4797]

    @@ -21305,7 +21373,7 @@ $maxh = 0])
    -

    method write1DBarcode [line 13250]

    +

    method write1DBarcode [line 13598]

    @@ -21395,7 +21463,7 @@ $align = ''])
    -

    method write2DBarcode [line 13496]

    +

    method write2DBarcode [line 13844]

    @@ -21479,7 +21547,7 @@ $align = ''])
    -

    method writeBarcode [line 13446]

    +

    method writeBarcode [line 13794]

    @@ -21569,7 +21637,7 @@ $code)
    -

    method writeDiskCache [line 16979]

    +

    method writeDiskCache [line 17327]

    @@ -21626,7 +21694,7 @@ $file)
    -

    method writeHTML [line 14325]

    +

    method writeHTML [line 14673]

    @@ -21692,7 +21760,7 @@ $align = ''])
    -

    method writeHTMLCell [line 13750]

    +

    method writeHTMLCell [line 14098]

    @@ -21794,7 +21862,7 @@ $autopadding = true])
    -

    method _addfield [line 10841]

    +

    method _addfield [line 11185]

    @@ -21870,9 +21938,60 @@ $prop)
    [ Top ]
    +
    + +

    method _AES [line 8895]

    +
    +
    +
    + String _AES( +string +$key, String +$text) +
    +

    + + Returns the input text exrypted using AES algorithm and the specified key.

    This method requires mcrypt.




    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  encrypted text
    author:  Nicola Asuni
    since:  5.0.005 (2010-05-11)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + + + + + + +
    string  $key  encryption key
    String  $text  input text to be encrypted
    +

    +
    [ Top ]
    +

    -

    method _beginpage [line 7975]

    +

    method _beginpage [line 7957]

    @@ -21914,7 +22033,7 @@ $format = ''])
    -

    method _dataannobjstring [line 8149]

    +

    method _dataannobjstring [line 8129]

    @@ -21953,7 +22072,7 @@ $s)
    -

    method _datastring [line 8136]

    +

    method _datastring [line 8118]

    @@ -21992,7 +22111,7 @@ $s)
    -

    method _datestring [line 8162]

    +

    method _datestring [line 8140]

    @@ -22023,7 +22142,7 @@ $s)
    -

    method _destroy [line 6234]

    +

    method _destroy [line 6215]

    @@ -22068,7 +22187,7 @@ $preserve_objcopy = false])
    -

    method _dochecks [line 6262]

    +

    method _dochecks [line 6243]

    @@ -22093,7 +22212,7 @@ $preserve_objcopy = false])
    -

    method _dolinethrough [line 8063]

    +

    method _dolinethrough [line 8045]

    @@ -22141,7 +22260,7 @@ $txt)
    -

    method _dolinethroughw [line 8076]

    +

    method _dolinethroughw [line 8058]

    @@ -22198,7 +22317,7 @@ $txt)
    -

    method _dooverline [line 8089]

    +

    method _dooverline [line 8071]

    @@ -22249,7 +22368,7 @@ $txt)
    -

    method _dooverlinew [line 8102]

    +

    method _dooverlinew [line 8084]

    @@ -22300,7 +22419,7 @@ $w)
    -

    method _dounderline [line 8038]

    +

    method _dounderline [line 8020]

    @@ -22348,7 +22467,7 @@ $txt)
    -

    method _dounderlinew [line 8051]

    +

    method _dounderlinew [line 8033]

    @@ -22397,9 +22516,57 @@ $w)
    [ Top ]
    +
    + +

    method _encrypt_data [line 8706]

    +
    +
    +
    + void _encrypt_data( +int +$n, string +$s) +
    +

    + + Encrypt the input string.



    +

    Tags:

    +
    + + + + + + + + + + +
    author:  Nicola Asuni
    since:  5.0.005 (2010-05-11)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + + + + + + +
    int  $n  object number
    string  $s  data string to encrypt
    +

    +
    [ Top ]
    +

    -

    method _enddoc [line 7874]

    +

    method _enddoc [line 7856]

    @@ -22424,7 +22591,7 @@ $w)
    -

    method _endpage [line 8014]

    +

    method _endpage [line 7996]

    @@ -22449,7 +22616,7 @@ $w)
    -

    method _escape [line 8125]

    +

    method _escape [line 8107]

    @@ -22488,7 +22655,7 @@ $s)
    -

    method _escapetext [line 8201]

    +

    method _escapetext [line 8179]

    @@ -22527,7 +22694,7 @@ $s)
    -

    method _freadint [line 8114]

    +

    method _freadint [line 8096]

    @@ -22566,7 +22733,7 @@ $f)
    -

    method _generateencryptionkey [line 8822]

    +

    method _generateencryptionkey [line 8982]

    @@ -22583,7 +22750,7 @@ $protection)
    - + @@ -22620,7 +22787,7 @@ $protection)
    -

    method _getfontpath [line 6278]

    +

    method _getfontpath [line 6259]

    author:  Klemen Vodopivecauthor:  Nicola Asuni
    since:  2.0.000 (2008-01-02)
    @@ -22645,7 +22812,7 @@ $protection)
    -

    method _getstream [line 8219]

    +

    method _getstream [line 8197]

    @@ -22687,7 +22854,7 @@ $n = 0])
    -

    method _JScolor [line 10817]

    +

    method _JScolor [line 11161]

    @@ -22729,7 +22896,7 @@ $color)
    -

    method _md5_16 [line 8783]

    +

    method _md5_16 [line 8913]

    @@ -22774,7 +22941,7 @@ $str)
    -

    method _newobj [line 8024]

    +

    method _newobj [line 8006]

    @@ -22802,7 +22969,7 @@ $str)
    -

    method _objectkey [line 8710]

    +

    method _objectkey [line 8687]

    @@ -22812,10 +22979,13 @@ $n)

    - Compute encryption key depending on object number where the encrypted data is stored



    + Compute encryption key depending on object number where the encrypted data is stored.

    This is used for all strings and streams without crypt filter specifier.




    Tags:

    + + + @@ -22841,7 +23011,7 @@ $n)
    -

    method _out [line 8245]

    +

    method _out [line 8221]

    author:  Nicola Asuni
    since:  2.0.000 (2008-01-02)
    @@ -22877,7 +23047,7 @@ $s)
    -

    method _outCurve [line 9329]

    +

    method _outCurve [line 9673]

    @@ -22946,7 +23116,7 @@ $y3)
    -

    method _outCurveV [line 9343]

    +

    method _outCurveV [line 9687]

    @@ -23003,7 +23173,7 @@ $y3)
    -

    method _outCurveY [line 9359]

    +

    method _outCurveY [line 9703]

    @@ -23072,7 +23242,7 @@ $y2)
    -

    method _outellipticalarc [line 9556]

    +

    method _outellipticalarc [line 9900]

    @@ -23180,7 +23350,7 @@ $angf:)
    -

    method _outLine [line 9299]

    +

    method _outLine [line 9643]

    @@ -23225,7 +23395,7 @@ $y)
    -

    method _outPoint [line 9287]

    +

    method _outPoint [line 9631]

    @@ -23270,7 +23440,7 @@ $y)
    -

    method _outRect [line 9313]

    +

    method _outRect [line 9657]

    @@ -23333,7 +23503,7 @@ $op)
    -

    method _Ovalue [line 8796]

    +

    method _Ovalue [line 8926]

    @@ -23344,7 +23514,7 @@ $owner_pass)

    - Compute O value (used for RC4 encryption)



    + Compute O value (used for encryption)



    Tags:

    @@ -23352,7 +23522,7 @@ $owner_pass) - + @@ -23384,7 +23554,7 @@ $owner_pass)
    -

    method _parsejpeg [line 5672]

    +

    method _parsejpeg [line 5653]

    return:  O value
    author:  Klemen Vodopivecauthor:  Nicola Asuni
    since:  2.0.000 (2008-01-02)
    @@ -23423,7 +23593,7 @@ $file)
    -

    method _parsepng [line 5698]

    +

    method _parsepng [line 5679]

    @@ -23462,7 +23632,7 @@ $file)
    -

    method _putannotsobjs [line 6457]

    +

    method _putannotsobjs [line 6438]

    @@ -23493,7 +23663,7 @@ $file)
    -

    method _putannotsrefs [line 6425]

    +

    method _putannotsrefs [line 6406]

    @@ -23535,7 +23705,7 @@ $n)
    -

    method _putAPXObject [line 7068]

    +

    method _putAPXObject [line 7050]

    @@ -23589,7 +23759,7 @@ $stream = ''])
    -

    method _putbookmarks [line 10658]

    +

    method _putbookmarks [line 11002]

    @@ -23620,7 +23790,7 @@ $stream = ''])
    -

    method _putcatalog [line 7692]

    +

    method _putcatalog [line 7674]

    @@ -23645,7 +23815,7 @@ $stream = ''])
    -

    method _putcidfont0 [line 7426]

    +

    method _putcidfont0 [line 7408]

    @@ -23690,7 +23860,7 @@ $font)
    -

    method _putEmbeddedFiles [line 3921]

    +

    method _putEmbeddedFiles [line 3902]

    @@ -23721,7 +23891,7 @@ $font)
    -

    method _putencryption [line 8719]

    +

    method _putencryption [line 8730]

    @@ -23734,6 +23904,9 @@ $font)

    Tags:

    + + + @@ -23749,7 +23922,7 @@ $font)
    -

    method _putextgstates [line 12149]

    +

    method _putextgstates [line 12497]

    author:  Nicola Asuni
    since:  2.0.000 (2008-01-02)
    @@ -23788,7 +23961,7 @@ $gs)
    -

    method _putfonts [line 7097]

    +

    method _putfonts [line 7079]

    @@ -23813,7 +23986,7 @@ $gs)
    -

    method _putfontwidths [line 7234]

    +

    method _putfontwidths [line 7216]

    @@ -23864,7 +24037,7 @@ $cidoffset = 0])
    -

    method _putheader [line 7866]

    +

    method _putheader [line 7848]

    @@ -23889,7 +24062,7 @@ $cidoffset = 0])
    -

    method _putimages [line 7493]

    +

    method _putimages [line 7475]

    @@ -23914,7 +24087,7 @@ $cidoffset = 0])
    -

    method _putinfo [line 7648]

    +

    method _putinfo [line 7630]

    @@ -23939,7 +24112,7 @@ $cidoffset = 0])
    -

    method _putjavascript [line 10764]

    +

    method _putjavascript [line 11108]

    @@ -23970,7 +24143,7 @@ $cidoffset = 0])
    -

    method _putocg [line 12067]

    +

    method _putocg [line 12415]

    @@ -23998,7 +24171,7 @@ $cidoffset = 0])
    -

    method _putpages [line 6289]

    +

    method _putpages [line 6270]

    @@ -24023,7 +24196,7 @@ $cidoffset = 0])
    -

    method _putresourcedict [line 7565]

    +

    method _putresourcedict [line 7547]

    @@ -24048,7 +24221,7 @@ $cidoffset = 0])
    -

    method _putresources [line 7625]

    +

    method _putresources [line 7607]

    @@ -24073,7 +24246,7 @@ $cidoffset = 0])
    -

    method _putshaders [line 12703]

    +

    method _putshaders [line 13051]

    @@ -24104,7 +24277,7 @@ $cidoffset = 0])
    -

    method _putsignature [line 11789]

    +

    method _putsignature [line 12133]

    @@ -24135,7 +24308,7 @@ $cidoffset = 0])
    -

    method _putspotcolors [line 7547]

    +

    method _putspotcolors [line 7529]

    @@ -24163,7 +24336,7 @@ $cidoffset = 0])
    -

    method _putstream [line 8236]

    +

    method _putstream [line 8212]

    @@ -24205,7 +24378,7 @@ $n = 0])
    -

    method _puttrailer [line 7849]

    +

    method _puttrailer [line 7831]

    diff --git a/examples/example_010.php b/examples/example_010.php index 3ec6bf5..754af6a 100755 --- a/examples/example_010.php +++ b/examples/example_010.php @@ -2,7 +2,7 @@ //============================================================+ // File name : example_010.php // Begin : 2008-03-04 -// Last Update : 2010-03-28 +// Last Update : 2010-05-11 // // Description : Example 010 for TCPDF class // Text on multiple columns @@ -52,6 +52,8 @@ class MC_TCPDF extends TCPDF { $this->setEqualColumns(); // add a new page $this->AddPage(); + // reset margins + $this->selectColumn(); // print chapter title $this->ChapterTitle($num, $title); // set columns diff --git a/examples/example_016.php b/examples/example_016.php index 716371c..ccb055a 100755 --- a/examples/example_016.php +++ b/examples/example_016.php @@ -2,13 +2,13 @@ //============================================================+ // File name : example_016.php // Begin : 2008-03-04 -// Last Update : 2009-09-30 -// +// Last Update : 2010-05-12 +// // Description : Example 016 for TCPDF class // Document Encryption / Security -// +// // Author: Nicola Asuni -// +// // (c) Copyright: // Nicola Asuni // Tecnick.com s.r.l. @@ -24,7 +24,7 @@ * @package com.tecnick.tcpdf * @abstract TCPDF - Example: Document Encryption / Security * @author Nicola Asuni - * @copyright 2004-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com + * @copyright 2004-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com * @link http://tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL * @since 2008-03-04 @@ -34,24 +34,47 @@ require_once('../config/lang/eng.php'); require_once('../tcpdf.php'); // create new PDF document -$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); +$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + + +// *** Set PDF protection (encryption) ********************* -// Set PDF protection (RSA 40bit encryption) /* -* The permission array is composed of values taken from the following ones: -* - copy: copy text and images to the clipboard -* - print: print the document -* - modify: modify it (except for annotations and forms) -* - annot-forms: add annotations and forms -* If you don't set any password, the document will open as usual. -* If you set a user password, the PDF viewer will ask for it before -* displaying the document. The master password, if different from -* the user one, can be used to get full access. -* Note: protecting a document requires to encrypt it, which increases the -* processing time a lot. This can cause a PHP time-out in some cases, -* especially if the document contains images or fonts. + The permission array is composed of values taken from the following ones (specify the ones you want to block): + - print : Print the document; + - modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble'; + - copy : Copy or otherwise extract text and graphics from the document; + - annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields); + - fill-forms : Fill in existing interactive form fields (including signature fields), even if 'annot-forms' is not specified; + - extract : Extract text and graphics (in support of accessibility to users with disabilities or for other purposes); + - assemble : Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if 'modify' is not set; + - print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality. + - owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions. + + If you don't set any password, the document will open as usual. + If you set a user password, the PDF viewer will ask for it before displaying the document. + The master (owner) password, if different from the user one, can be used to get full access. + + Possible encryption modes are: + - 0 = RSA 40 bit + - 1 = RSA 128 bit + - 2 = AES 128 bit + + NOTES: + - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + - To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + - To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes + */ -$pdf->SetProtection(array('print')); + +$pdf->SetProtection($permissions=array('print', 'copy'), $user_pass='', $owner_pass=null, $mode=1, $pubkeys=null); + +// Example with public-key +// To open the document you need to install the private key (tcpdf.p12) on the Acrobat Reader. The password is: 1234 +//$pdf->SetProtection($permissions=array('print', 'copy'), $user_pass='', $owner_pass=null, $mode=1, $pubkeys=array(array('c' => 'file://../tcpdf.crt', 'p' => array('print')))); + +// ********************************************************* + // set document information $pdf->SetCreator(PDF_CREATOR); @@ -79,10 +102,10 @@ $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //set image scale factor -$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set some language-dependent strings -$pdf->setLanguageArray($l); +$pdf->setLanguageArray($l); // --------------------------------------------------------- @@ -101,6 +124,6 @@ $pdf->Cell(0, 10, 'Encryption Example', 1, 1, 'C'); $pdf->Output('example_016.pdf', 'I'); //============================================================+ -// END OF FILE +// END OF FILE //============================================================+ ?> diff --git a/examples/example_052.php b/examples/example_052.php index 8fc9bb4..c7f41a8 100644 --- a/examples/example_052.php +++ b/examples/example_052.php @@ -2,13 +2,13 @@ //============================================================+ // File name : example_052.php // Begin : 2009-05-07 -// Last Update : 2009-09-30 -// +// Last Update : 2010-05-12 +// // Description : Example 052 for TCPDF class // Certification Signature (experimental) -// +// // Author: Nicola Asuni -// +// // (c) Copyright: // Nicola Asuni // Tecnick.com s.r.l. @@ -24,7 +24,7 @@ * @package com.tecnick.tcpdf * @abstract TCPDF - Example: Certification Signature (experimental) * @author Nicola Asuni - * @copyright 2004-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com + * @copyright 2004-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com * @link http://tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL * @since 2009-05-07 @@ -34,7 +34,7 @@ require_once('../config/lang/eng.php'); require_once('../tcpdf.php'); // create new PDF document -$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); +$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // set document information $pdf->SetCreator(PDF_CREATOR); @@ -62,13 +62,20 @@ $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //set image scale factor -$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set some language-dependent strings -$pdf->setLanguageArray($l); +$pdf->setLanguageArray($l); // --------------------------------------------------------- +/* +NOTES: + - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + - To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + - To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes +*/ + // set certificate file $certificate = 'file://../tcpdf.crt'; @@ -99,6 +106,6 @@ $pdf->writeHTML($text, true, 0, true, 0); $pdf->Output('example_052.pdf', 'I'); //============================================================+ -// END OF FILE +// END OF FILE //============================================================+ ?> diff --git a/tcpdf.php b/tcpdf.php index 858aa04..f0ef3fd 100755 --- a/tcpdf.php +++ b/tcpdf.php @@ -2,9 +2,9 @@ //============================================================+ // File name : tcpdf.php // Begin : 2002-08-03 -// Last Update : 2010-05-10 +// Last Update : 2010-05-12 // Author : Nicola Asuni - info@tecnick.com - http://www.tcpdf.org -// Version : 5.0.004 +// Version : 5.0.005 // License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html) // ---------------------------------------------------------------------------- // Copyright (C) 2002-2010 Nicola Asuni - Tecnick.com S.r.l. @@ -122,7 +122,7 @@ * @copyright 2002-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com * @link http://www.tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL - * @version 5.0.004 + * @version 5.0.005 */ /** @@ -146,14 +146,14 @@ if (!class_exists('TCPDF', false)) { /** * define default PDF document producer */ - define('PDF_PRODUCER', 'TCPDF 5.0.004 (http://www.tcpdf.org)'); + define('PDF_PRODUCER', 'TCPDF 5.0.005 (http://www.tcpdf.org)'); /** * This is a PHP class for generating PDF documents without requiring external extensions.
    * TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.
    * @name TCPDF * @package com.tecnick.tcpdf - * @version 5.0.004 + * @version 5.0.005 * @author Nicola Asuni - info@tecnick.com * @link http://www.tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL @@ -751,59 +751,39 @@ if (!class_exists('TCPDF', false)) { protected $encrypted; /** - * U entry in pdf document + * Array containing encryption settings * @access protected - * @since 2.0.000 (2008-01-02) + * @since 5.0.005 (2010-05-11) */ - protected $Uvalue; - - /** - * O entry in pdf document - * @access protected - * @since 2.0.000 (2008-01-02) - */ - protected $Ovalue; - - /** - * P entry in pdf document - * @access protected - * @since 2.0.000 (2008-01-02) - */ - protected $Pvalue; - - /** - * encryption object id - * @access protected - * @since 2.0.000 (2008-01-02) - */ - protected $enc_obj_id; + protected $encryptdata = array(); /** * last RC4 key encrypted (cached for optimisation) * @access protected * @since 2.0.000 (2008-01-02) */ - protected $last_rc4_key; + protected $last_enc_key; /** * last RC4 computed key * @access protected * @since 2.0.000 (2008-01-02) */ - protected $last_rc4_key_c; + protected $last_enc_key_c; /** - * RC4 padding + * Encryption padding * @access protected */ - protected $padding = "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A"; - + protected $enc_padding = "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A"; + /** - * RC4 encryption key + * File ID (used on trailer) * @access protected + * @since 5.0.005 (2010-05-12) */ - protected $encryption_key; - + protected $file_id; + // --- bookmark --- /** @@ -1772,8 +1752,7 @@ if (!class_exists('TCPDF', false)) { $this->ColorFlag = false; // encryption values $this->encrypted = false; - $this->last_rc4_key = ''; - $this->padding = "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A"; + $this->last_enc_key = ''; //Standard Unicode fonts $this->CoreFonts = array( 'courier'=>'Courier', @@ -1851,6 +1830,8 @@ if (!class_exists('TCPDF', false)) { $this->apxo_obj_id = $this->apxo_start_obj_id; $this->js_obj_id = $this->js_start_obj_id; $this->default_form_prop = array('lineWidth'=>1, 'borderStyle'=>'solid', 'fillColor'=>array(255, 255, 255), 'strokeColor'=>array(128, 128, 128)); + // set file ID for trailer + $this->file_id = md5(microtime().__FILE__.'TCPDF'.$orientation.$unit.$format.$encoding.uniqid()); } /** @@ -6675,6 +6656,7 @@ if (!class_exists('TCPDF', false)) { //$annots .= ' /ExData '; } $lineendings = array('Square', 'Circle', 'Diamond', 'OpenArrow', 'ClosedArrow', 'None', 'Butt', 'ROpenArrow', 'RClosedArrow', 'Slash'); + // Annotation types switch (strtolower($pl['opt']['subtype'])) { case 'text': { if (isset($pl['opt']['open'])) { @@ -6750,7 +6732,7 @@ if (!class_exists('TCPDF', false)) { } $tfit = array('FreeText', 'FreeTextCallout', 'FreeTextTypeWriter'); if (isset($pl['opt']['it']) AND in_array($pl['opt']['it'], $tfit)) { - $annots .= ' /IT '.$pl['opt']['it']; + $annots .= ' /IT /'.$pl['opt']['it']; } if (isset($pl['opt']['rd']) AND is_array($pl['opt']['rd'])) { $l = $pl['opt']['rd'][0] * $this->k; @@ -7852,8 +7834,8 @@ if (!class_exists('TCPDF', false)) { $out .= ' /Root '.$this->n.' 0 R'; $out .= ' /Info '.($this->n - 1).' 0 R'; if ($this->encrypted) { - $out .= ' /Encrypt '.$this->enc_obj_id.' 0 R'; - $out .= ' /ID [()()]'; + $out .= ' /Encrypt '.$this->encryptdata['objid'].' 0 R'; + $out .= ' /ID [ <'.$this->file_id.'> <'.$this->file_id.'> ]'; } $out .= ' >>'; $this->_out($out); @@ -8134,9 +8116,7 @@ if (!class_exists('TCPDF', false)) { * @access protected */ protected function _datastring($s) { - if ($this->encrypted) { - $s = $this->_RC4($this->_objectkey($this->n), $s); - } + $s = $this->_encrypt_data($this->n, $s); return '('. $this->_escape($s).')'; } @@ -8147,9 +8127,7 @@ if (!class_exists('TCPDF', false)) { * @access protected */ protected function _dataannobjstring($s) { - if ($this->encrypted) { - $s = $this->_RC4($this->_objectkey($this->annot_obj_id + 1), $s); - } + $s = $this->_encrypt_data(($this->annot_obj_id + 1), $s); return '('. $this->_escape($s).')'; } @@ -8217,13 +8195,11 @@ if (!class_exists('TCPDF', false)) { * @access protected */ protected function _getstream($s, $n=0) { - if ($this->encrypted) { - if ($n <= 0) { - // default to current object - $n = $this->n; - } - $s = $this->_RC4($this->_objectkey($n), $s); + if ($n <= 0) { + // default to current object + $n = $this->n; } + $s = $this->_encrypt_data($n, $s); return "stream\n".$s."\nendstream"; } @@ -8699,21 +8675,56 @@ if (!class_exists('TCPDF', false)) { } // ENCRYPTION METHODS ---------------------------------- - // SINCE 2.0.000 (2008-01-02) /** - * Compute encryption key depending on object number where the encrypted data is stored + * Compute encryption key depending on object number where the encrypted data is stored. + * This is used for all strings and streams without crypt filter specifier. * @param int $n object number * @access protected + * @author Nicola Asuni * @since 2.0.000 (2008-01-02) */ protected function _objectkey($n) { - return substr($this->_md5_16($this->encryption_key.pack('VXxx', $n)), 0, 10); + $objkey = $this->encryptdata['key'].pack('VXxx', $n); + if ($this->encryptdata['mode'] == 2) { + // AES padding + $objkey .= "\x73\x41\x6C\x54"; + } + $objkey = substr($this->_md5_16($objkey), 0, (($this->encryptdata['Length'] / 8) + 5)); + $objkey = substr($objkey, 0, 16); + return $objkey; + } + + /** + * Encrypt the input string. + * @param int $n object number + * @param string $s data string to encrypt + * @access protected + * @author Nicola Asuni + * @since 5.0.005 (2010-05-11) + */ + protected function _encrypt_data($n, $s) { + if (!$this->encrypted) { + return $s; + } + switch ($this->encryptdata['mode']) { + case 0: // RC4 40 bit + case 1: { // RC4 128 bit + $s = $this->_RC4($this->_objectkey($n), $s); + break; + } + case 2: { // AES 128 bit + $s = $this->_AES($this->_objectkey($n), $s); + break; + } + } + return $s; } /** * Put encryption on PDF document. * @access protected + * @author Nicola Asuni * @since 2.0.000 (2008-01-02) */ protected function _putencryption() { @@ -8721,11 +8732,106 @@ if (!class_exists('TCPDF', false)) { return; } $this->_newobj(); - $this->enc_obj_id = $this->n; - $out = '<< /Filter /Standard /V 1 /R 2'; - $out .= ' /O ('.$this->_escape($this->Ovalue).')'; - $out .= ' /U ('.$this->_escape($this->Uvalue).')'; - $out .= ' /P '.$this->Pvalue; + $this->encryptdata['objid'] = $this->n; + $out = '<<'; + if (!isset($this->encryptdata['Filter']) OR empty($this->encryptdata['Filter'])) { + $this->encryptdata['Filter'] = 'Standard'; + } + $out .= ' /Filter /'.$this->encryptdata['Filter']; + if (isset($this->encryptdata['SubFilter']) AND !empty($this->encryptdata['SubFilter'])) { + $out .= ' /SubFilter /'.$this->encryptdata['SubFilter']; + } + if (!isset($this->encryptdata['V']) OR empty($this->encryptdata['V'])) { + $this->encryptdata['V'] = 1; + } + // V is a code specifying the algorithm to be used in encrypting and decrypting the document + $out .= ' /V '.$this->encryptdata['V']; + if (($this->encryptdata['V'] == 2) OR ($this->encryptdata['V'] == 3)) { + if (isset($this->encryptdata['Length']) AND !empty($this->encryptdata['Length'])) { + // The length of the encryption key, in bits. The value shall be a multiple of 8, in the range 40 to 128 + $out .= ' /Length '.$this->encryptdata['Length']; + } else { + $out .= ' /Length 40'; + } + } elseif ($this->encryptdata['V'] == 4) { + if (!isset($this->encryptdata['StmF']) OR empty($this->encryptdata['StmF'])) { + $this->encryptdata['StmF'] = 'Identity'; + } + if (!isset($this->encryptdata['StrF']) OR empty($this->encryptdata['StrF'])) { + // The name of the crypt filter that shall be used when decrypting all strings in the document. + $this->encryptdata['StrF'] = 'Identity'; + } + // A dictionary whose keys shall be crypt filter names and whose values shall be the corresponding crypt filter dictionaries. + if (isset($this->encryptdata['CF']) AND !empty($this->encryptdata['CF'])) { + $out .= ' /CF <<'; + $out .= ' /'.$this->encryptdata['StmF'].' <<'; + $out .= ' /Type /CryptFilter'; + if (isset($this->encryptdata['CF']['CFM']) AND !empty($this->encryptdata['CF']['CFM'])) { + // The method used + $out .= ' /CFM /'.$this->encryptdata['CF']['CFM']; + if ($this->encryptdata['pubkey']) { + $out .= ' /Recipients ['; + foreach ($this->encryptdata['Recipients'] as $rec) { + $out .= ' <'.$rec.'>'; + } + $out .= ' ]'; + if (isset($this->encryptdata['CF']['EncryptMetadata']) AND (!$this->encryptdata['CF']['EncryptMetadata'])) { + $out .= ' /EncryptMetadata false'; + } else { + $out .= ' /EncryptMetadata true'; + } + } + } else { + $out .= ' /CFM /None'; + } + if (isset($this->encryptdata['CF']['AuthEvent']) AND !empty($this->encryptdata['CF']['AuthEvent'])) { + // The event to be used to trigger the authorization that is required to access encryption keys used by this filter. + $out .= ' /AuthEvent /'.$this->encryptdata['CF']['AuthEvent']; + } else { + $out .= ' /AuthEvent /DocOpen'; + } + if (isset($this->encryptdata['CF']['Length']) AND !empty($this->encryptdata['CF']['Length'])) { + // The bit length of the encryption key. + $out .= ' /Length '.$this->encryptdata['CF']['Length']; + } + $out .= ' >> >>'; + } + // The name of the crypt filter that shall be used by default when decrypting streams. + $out .= ' /StmF /'.$this->encryptdata['StmF']; + // The name of the crypt filter that shall be used when decrypting all strings in the document. + $out .= ' /StrF /'.$this->encryptdata['StrF']; + if (isset($this->encryptdata['EFF']) AND !empty($this->encryptdata['EFF'])) { + // The name of the crypt filter that shall be used when encrypting embedded file streams that do not have their own crypt filter specifier. + $out .= ' /EFF /'.$this->encryptdata['']; + } + } + // Additional encryption dictionary entries for the standard security handler + if ($this->encryptdata['pubkey']) { + if (($this->encryptdata['V'] < 4) AND isset($this->encryptdata['Recipients']) AND !empty($this->encryptdata['Recipients'])) { + $out .= ' /Recipients ['; + foreach ($this->encryptdata['Recipients'] as $rec) { + $out .= ' <'.$rec.'>'; + } + $out .= ' ]'; + } + } else { + $out .= ' /R'; + if ($this->encryptdata['V'] == 4) { + $out .= ' 4'; + } elseif ($this->encryptdata['V'] < 2) { + $out .= ' 2'; + } else { + $out .= ' 3'; + } + $out .= ' /O ('.$this->_escape($this->encryptdata['O']).')'; + $out .= ' /U ('.$this->_escape($this->encryptdata['U']).')'; + $out .= ' /P '.$this->encryptdata['P']; + if (isset($this->encryptdata['EncryptMetadata']) AND (!$this->encryptdata['EncryptMetadata'])) { + $out .= ' /EncryptMetadata false'; + } else { + $out .= ' /EncryptMetadata true'; + } + } $out .= ' >> endobj'; $this->_out($out); } @@ -8738,10 +8844,14 @@ if (!class_exists('TCPDF', false)) { * @return String encrypted text * @access protected * @since 2.0.000 (2008-01-02) - * @author Klemen Vodopivec + * @author Klemen Vodopivec, Nicola Asuni */ protected function _RC4($key, $text) { - if ($this->last_rc4_key != $key) { + if (function_exists('mcrypt_decrypt') AND ($out = @mcrypt_decrypt(@MCRYPT_ARCFOUR, $key, $text, @MCRYPT_MODE_STREAM))) { + // try to use mcrypt function if exist + return $out; + } + if ($this->last_enc_key != $key) { $k = str_repeat($key, ((256 / strlen($key)) + 1)); $rc4 = range(0, 255); $j = 0; @@ -8751,10 +8861,10 @@ if (!class_exists('TCPDF', false)) { $rc4[$i] = $rc4[$j]; $rc4[$j] = $t; } - $this->last_rc4_key = $key; - $this->last_rc4_key_c = $rc4; + $this->last_enc_key = $key; + $this->last_enc_key_c = $rc4; } else { - $rc4 = $this->last_rc4_key_c; + $rc4 = $this->last_enc_key_c; } $len = strlen($text); $a = 0; @@ -8772,6 +8882,26 @@ if (!class_exists('TCPDF', false)) { return $out; } + /** + * Returns the input text exrypted using AES algorithm and the specified key. + * This method requires mcrypt. + * @param string $key encryption key + * @param String $text input text to be encrypted + * @return String encrypted text + * @access protected + * @author Nicola Asuni + * @since 5.0.005 (2010-05-11) + */ + protected function _AES($key, $text) { + // padding (RFC 2898, PKCS #5: Password-Based Cryptography Specification Version 2.0) + $padding = 16 - (strlen($text) % 16); + $text .= str_repeat(chr($padding), $padding); + $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND); + $text = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv); + $text = $iv.$text; + return $text; + } + /** * Encrypts a string using MD5 and returns it's value as a binary string. * @param string $str input string @@ -8785,29 +8915,59 @@ if (!class_exists('TCPDF', false)) { } /** - * Compute O value (used for RC4 encryption) + * Compute O value (used for encryption) * @param String $user_pass user password * @param String $owner_pass user password * @return String O value * @access protected * @since 2.0.000 (2008-01-02) - * @author Klemen Vodopivec + * @author Nicola Asuni */ protected function _Ovalue($user_pass, $owner_pass) { $tmp = $this->_md5_16($owner_pass); - $owner_RC4_key = substr($tmp, 0, 5); - return $this->_RC4($owner_RC4_key, $user_pass); + if ($this->encryptdata['mode'] > 0) { + for ($i = 0; $i < 50; ++$i) { + $tmp = $this->_md5_16($tmp); + } + } + $owner_key = substr($tmp, 0, ($this->encryptdata['Length'] / 8)); + $enc = $this->_RC4($owner_key, $user_pass); + if ($this->encryptdata['mode'] > 0) { + $len = strlen($owner_key); + for ($i = 1; $i <= 19; ++$i) { + $ek = ''; + for ($j = 0; $j < $len; ++$j) { + $ek .= chr(ord($owner_key{$j}) ^ $i); + } + $enc = $this->_RC4($ek, $enc); + } + } + return $enc; } /** - * Compute U value (used for RC4 encryption) + * Compute U value (used for encryption) * @return String U value * @access protected * @since 2.0.000 (2008-01-02) - * @author Klemen Vodopivec + * @author Nicola Asuni */ protected function _Uvalue() { - return $this->_RC4($this->encryption_key, $this->padding); + if ($this->encryptdata['mode'] == 0) { + return $this->_RC4($this->encryptdata['key'], $this->enc_padding); + } + $tmp = $this->_md5_16($this->enc_padding.$this->encryptdata['fileid']); + $enc = $this->_RC4($this->encryptdata['key'], $tmp); + $len = strlen($tmp); + for ($i = 1; $i <= 19; ++$i) { + $ek = ''; + for ($j = 0; $j < $len; ++$j) { + $ek .= chr(ord($this->encryptdata['key']{$j}) ^ $i); + } + $enc = $this->_RC4($ek, $enc); + } + $enc .= str_repeat("\x00", 16); + return substr($enc, 0, 32); } /** @@ -8817,56 +8977,240 @@ if (!class_exists('TCPDF', false)) { * @param String $protection protection type * @access protected * @since 2.0.000 (2008-01-02) - * @author Klemen Vodopivec + * @author Nicola Asuni */ protected function _generateencryptionkey($user_pass, $owner_pass, $protection) { - // Pad passwords - $user_pass = substr($user_pass.$this->padding, 0, 32); - $owner_pass = substr($owner_pass.$this->padding, 0, 32); - // Compute O value - $this->Ovalue = $this->_Ovalue($user_pass, $owner_pass); - // Compute encyption key - $tmp = $this->_md5_16($user_pass.$this->Ovalue.chr($protection)."\xFF\xFF\xFF"); - $this->encryption_key = substr($tmp, 0, 5); - // Compute U value - $this->Uvalue = $this->_Uvalue(); - // Compute P value - $this->Pvalue = -(($protection^255) + 1); + $keybytelen = ($this->encryptdata['Length'] / 8); + if (!$this->encryptdata['pubkey']) { // standard mode + // Pad passwords + $user_pass = substr($user_pass.$this->enc_padding, 0, 32); + $owner_pass = substr($owner_pass.$this->enc_padding, 0, 32); + // Compute O value + $this->encryptdata['O'] = $this->_Ovalue($user_pass, $owner_pass); + // get default permissions (reverse byte order) + $permissions = $this->getEncPermissionsString($protection); + // Compute encryption key + $tmp = $this->_md5_16($user_pass.$this->encryptdata['O'].$permissions.$this->encryptdata['fileid']); + if ($this->encryptdata['mode'] > 0) { + for ($i = 0; $i < 50; ++$i) { + $tmp = $this->_md5_16(substr($tmp, 0, $keybytelen)); + } + } + $this->encryptdata['key'] = substr($tmp, 0, $keybytelen); + // Compute U value + $this->encryptdata['U'] = $this->_Uvalue(); + // Compute P value + $this->encryptdata['P'] = $protection; + } else { // Public-Key mode + // random 20-byte seed + $seed = sha1(microtime().uniqid().$this->file_id, true); + $recipient_bytes = ''; + foreach ($this->encryptdata['pubkeys'] as $pubkey) { + // for each public certificate + if (isset($pubkey['p'])) { + $pkprotection = $this->getUserPermissionCode($pubkey['p'], $this->encryptdata['mode']); + } else { + $pkprotection = $protection; + } + // get default permissions (reverse byte order) + $pkpermissions = $this->getEncPermissionsString($pkprotection); + // envelope data + $envelope = $seed.$pkpermissions; + // write the envelope data to a temporary file + $tempkeyfile = tempnam(K_PATH_CACHE, 'tmpkey_'); + $f = fopen($tempkeyfile, 'wb'); + if (!$f) { + $this->Error('Unable to create temporary key file: '.$tempkeyfile); + } + $envelope_lenght = strlen($envelope); + fwrite($f, $envelope, $envelope_lenght); + fclose($f); + $tempencfile = tempnam(K_PATH_CACHE, 'tmpenc_'); + if (!openssl_pkcs7_encrypt($tempkeyfile, $tempencfile, $pubkey['c'], array(), PKCS7_DETACHED | PKCS7_BINARY)) { + $this->Error('Unable to encrypt the file: '.$tempkeyfile); + } + unlink($tempkeyfile); + // read encryption signature + $signature = file_get_contents($tempencfile, false, null, $envelope_lenght); + unlink($tempencfile); + // extract signature + $signature = substr($signature, strpos($signature, 'Content-Disposition')); + $tmparr = explode("\n\n", $signature); + $signature = trim($tmparr[1]); + unset($tmparr); + // decode signature + $signature = base64_decode($signature); + // convert signature to hex + $hexsignature = current(unpack('H*', $signature)); + // store signature on recipients array + $this->encryptdata['Recipients'][] = $hexsignature; + // The bytes of each item in the Recipients array of PKCS#7 objects in the order in which they appear in the array + $recipient_bytes .= $signature; + } + // calculate encryption key + $this->encryptdata['key'] = substr(sha1($seed.$recipient_bytes, true), 0, $keybytelen); + } } /** - * Set document protection - * The permission array is composed of values taken from the following ones: - * - copy: copy text and images to the clipboard - * - print: print the document - * - modify: modify it (except for annotations and forms) - * - annot-forms: add annotations and forms - * Remark: the protection against modification is for people who have the full Acrobat product. - * If you don't set any password, the document will open as usual. If you set a user password, the PDF viewer will ask for it before displaying the document. The master password, if different from the user one, can be used to get full access. - * Note: protecting a document requires to encrypt it, which increases the processing time a lot. This can cause a PHP time-out in some cases, especially if the document contains images or fonts. - * @param Array $permissions the set of permissions. Empty by default (only viewing is allowed). (print, modify, copy, annot-forms) - * @param String $user_pass user password. Empty by default. - * @param String $owner_pass owner password. If not specified, a random value is used. - * @access public - * @since 2.0.000 (2008-01-02) - * @author Klemen Vodopivec + * Return the premission code used on encryption (P value). + * @param Array $permissions the set of permissions (specify the ones you want to block). + * @param int $mode encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit. + * @access protected + * @since 5.0.005 (2010-05-12) + * @author Nicola Asuni */ - public function SetProtection($permissions=array(), $user_pass='', $owner_pass=null) { - $options = array('print' => 4, 'modify' => 8, 'copy' => 16, 'annot-forms' => 32); - $protection = 192; + protected function getUserPermissionCode($permissions, $mode=0) { + $options = array( + 'owner' => 2, // bit 2 -- inverted logic: cleared by default + 'print' => 4, // bit 3 + 'modify' => 8, // bit 4 + 'copy' => 16, // bit 5 + 'annot-forms' => 32, // bit 6 + 'fill-forms' => 256, // bit 9 + 'extract' => 512, // bit 10 + 'assemble' => 1024,// bit 11 + 'print-high' => 2048 // bit 12 + ); + $protection = 4294967293; // 32 bits (all to 1 except bit 2) foreach ($permissions as $permission) { if (!isset($options[$permission])) { $this->Error('Incorrect permission: '.$permission); } - $protection += $options[$permission]; + if (($mode > 0) OR ($options[$permission] <= 32)) { + // set only valid permissions + if ($options[$permission] == 2) { + // the logic for bit 2 is inverted (cleared by default) + $protection += $options[$permission]; + } else { + $protection -= $options[$permission]; + } + } + } + return $protection; + } + + /** + * Set document protection + * Remark: the protection against modification is for people who have the full Acrobat product. + * If you don't set any password, the document will open as usual. If you set a user password, the PDF viewer will ask for it before displaying the document. The master password, if different from the user one, can be used to get full access. + * Note: protecting a document requires to encrypt it, which increases the processing time a lot. This can cause a PHP time-out in some cases, especially if the document contains images or fonts. + * @param Array $permissions the set of permissions (specify the ones you want to block):
    • print : Print the document;
    • modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble';
    • copy : Copy or otherwise extract text and graphics from the document;
    • annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields);
    • fill-forms : Fill in existing interactive form fields (including signature fields), even if 'annot-forms' is not specified;
    • extract : Extract text and graphics (in support of accessibility to users with disabilities or for other purposes);
    • assemble : Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if 'modify' is not set;
    • print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality.
    • owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions.
    + * @param String $user_pass user password. Empty by default. + * @param String $owner_pass owner password. If not specified, a random value is used. + * @param int $mode encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit. + * @param String $pubkeys array of recipients containing public-key certificates ('c') and permissions ('p'). For example: array(array('c' => 'file://../tcpdf.crt', 'p' => array('print'))) + * @access public + * @since 2.0.000 (2008-01-02) + * @author Nicola Asuni + */ + public function SetProtection($permissions=array('print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble', 'print-high'), $user_pass='', $owner_pass=null, $mode=0, $pubkeys=null) { + $protection = $this->getUserPermissionCode($permissions, $mode); + if (($pubkeys !== null) AND (is_array($pubkeys))) { + // public-key mode + $this->encryptdata['pubkeys'] = $pubkeys; + if ($mode == 0) { + // public-Key Security requires at least 128 bit + $mode = 1; + } + if (!function_exists('openssl_pkcs7_encrypt')) { + $this->Error('Public-Key Security requires openssl library.'); + } + // Set Public-Key filter (availabe are: Entrust.PPKEF, Adobe.PPKLite, Adobe.PubSec) + $this->encryptdata['pubkey'] = true; + $this->encryptdata['Filter'] = 'Adobe.PubSec'; + $this->encryptdata['StmF'] = 'DefaultCryptFilter'; + $this->encryptdata['StrF'] = 'DefaultCryptFilter'; + } else { + // standard mode (password mode) + $this->encryptdata['pubkey'] = false; + $this->encryptdata['Filter'] = 'Standard'; + $this->encryptdata['StmF'] = 'StdCF'; + $this->encryptdata['StrF'] = 'StdCF'; + } + if ($mode > 1) { // AES + if (!extension_loaded('mcrypt')) { + $this->Error('AES encryption requires mcrypt library.'); + } + if (mcrypt_get_cipher_name(MCRYPT_RIJNDAEL_128) === false) { + $this->Error('AES encryption requires MCRYPT_RIJNDAEL_128 cypher.'); + } } if ($owner_pass === null) { $owner_pass = uniqid(rand()); } + $this->encryptdata['mode'] = $mode; + switch ($mode) { + case 0: { // RC4 40 bit + $this->encryptdata['V'] = 1; + $this->encryptdata['Length'] = 40; + $this->encryptdata['CF']['CFM'] = 'V2'; + break; + } + case 1: { // RC4 128 bit + $this->encryptdata['V'] = 2; + $this->encryptdata['Length'] = 128; + $this->encryptdata['CF']['CFM'] = 'V2'; + if ($this->encryptdata['pubkey']) { + $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s4'; + $this->encryptdata['Recipients'] = array(); + } + break; + } + case 2: { // AES 128 bit + $this->encryptdata['V'] = 4; + $this->encryptdata['Length'] = 128; + $this->encryptdata['CF']['CFM'] = 'AESV2'; + if ($this->encryptdata['pubkey']) { + $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s5'; + $this->encryptdata['Recipients'] = array(); + } + break; + } + } $this->encrypted = true; + $this->encryptdata['fileid'] = $this->convertHexStringToString($this->file_id); $this->_generateencryptionkey($user_pass, $owner_pass, $protection); } + /** + * Convert hexadecimal string to string + * @param string $bs byte-string to convert + * @return String + * @access protected + * @since 5.0.005 (2010-05-12) + * @author Nicola Asuni + */ + protected function convertHexStringToString($bs) { + if ((strlen($bs) % 2) != 0) { + // padding + $bs .= '0'; + } + $bytes = str_split($bs, 2); + $string = ''; + foreach ($bytes as $byte) { + $string .= chr(hexdec($byte)); + } + return $string; + } + + /** + * Convert encryption P value to a string of bytes, low-order byte first. + * @param string $protection 32bit encryption permission value (P value) + * @return String + * @access protected + * @since 5.0.005 (2010-05-12) + * @author Nicola Asuni + */ + protected function getEncPermissionsString($protection) { + $binprot = sprintf('%032b', $protection); + $str = chr(bindec(substr($binprot, 24, 8))); + $str .= chr(bindec(substr($binprot, 16, 8))); + $str .= chr(bindec(substr($binprot, 8, 8))); + $str .= chr(bindec(substr($binprot, 0, 8))); + return $str; + } + // END OF ENCRYPTION FUNCTIONS ------------------------- // START TRANSFORMATIONS SECTION ----------------------- @@ -11876,6 +12220,9 @@ if (!class_exists('TCPDF', false)) { /** * Enable document signature (requires the OpenSSL Library). * The digital signature improve document authenticity and integrity and allows o enable extra features on Acrobat Reader. + * To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + * To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + * To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes * @param mixed $signing_cert signing certificate (string or filename prefixed with 'file://') * @param mixed $private_key private key (string or filename prefixed with 'file://') * @param string $private_key_password password @@ -11888,6 +12235,7 @@ if (!class_exists('TCPDF', false)) { */ public function setSignature($signing_cert='', $private_key='', $private_key_password='', $extracerts='', $cert_type=2, $info=array()) { // to create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + // to export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 // to convert pfx certificate to pem: openssl // OpenSSL> pkcs12 -in -out -nodes $this->sign = true; @@ -17972,6 +18320,10 @@ if (!class_exists('TCPDF', false)) { $this->x = $x + $listindent; } $this->columns[$col]['x'] = $x; + } else { + // restore original margins + $this->lMargin = $this->original_lMargin; + $this->rMargin = $this->original_rMargin; } $this->current_column = $col; // fix for HTML mode
    @@ -24230,7 +24403,7 @@ $n = 0])
    -

    method _puttruetypeunicode [line 7333]

    +

    method _puttruetypeunicode [line 7315]

    diff --git a/doc/li_com-tecnick-tcpdf.html b/doc/li_com-tecnick-tcpdf.html index b7e2cc9..6862ea2 100644 --- a/doc/li_com-tecnick-tcpdf.html +++ b/doc/li_com-tecnick-tcpdf.html @@ -64,7 +64,7 @@ This documentation was generated by phpDocumentor v1.4.3

    - Documentation generated on Mon, 10 May 2010 18:33:44 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/index.html b/doc/index.html index b7e2cc9..6862ea2 100644 --- a/doc/index.html +++ b/doc/index.html @@ -64,7 +64,7 @@ This documentation was generated by phpDocumentor v1.4.3

    - Documentation generated on Mon, 10 May 2010 18:33:44 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    @@ -24275,7 +24448,7 @@ $font)
    -

    method _putviewerpreferences [line 7778]

    +

    method _putviewerpreferences [line 7760]

    diff --git a/doc/errors.html b/doc/errors.html index f25bf0a..8b313d4 100644 --- a/doc/errors.html +++ b/doc/errors.html @@ -37,14 +37,14 @@

    tcpdf.php

    Warnings:


    -Warning on line 17703 - Unknown tag "@parma" used
    +Warning on line 18051 - Unknown tag "@parma" used

    2dbarcodes.php

    Errors:


    Error on line 79 - Text cannot be outside of li tag in a DocBlock list, parsing will be incorrect

    - Documentation generated on Mon, 10 May 2010 18:33:48 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:18 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/elementindex_com-tecnick-tcpdf.html b/doc/elementindex_com-tecnick-tcpdf.html index f7dea31..316504c 100644 --- a/doc/elementindex_com-tecnick-tcpdf.html +++ b/doc/elementindex_com-tecnick-tcpdf.html @@ -96,6 +96,8 @@
    _addfield
    in file tcpdf.php, method TCPDF::_addfield()
        Adds a javascript form field.
    +
    _AES
    +
    in file tcpdf.php, method TCPDF::_AES()
        Returns the input text exrypted using AES algorithm and the specified key.
    _beginpage
    in file tcpdf.php, method TCPDF::_beginpage()
        Initialize a new page.
    _dataannobjstring
    @@ -120,6 +122,8 @@
    in file tcpdf.php, method TCPDF::_dounderline()
        Underline text.
    _dounderlinew
    in file tcpdf.php, method TCPDF::_dounderlinew()
        Underline for rectangular text area.
    +
    _encrypt_data
    +
    in file tcpdf.php, method TCPDF::_encrypt_data()
        Encrypt the input string.
    _enddoc
    in file tcpdf.php, method TCPDF::_enddoc()
        Output end of document (EOF).
    _endpage
    @@ -143,7 +147,7 @@
    _newobj
    in file tcpdf.php, method TCPDF::_newobj()
        Begin a new object and return the object number.
    _objectkey
    -
    in file tcpdf.php, method TCPDF::_objectkey()
        Compute encryption key depending on object number where the encrypted data is stored
    +
    in file tcpdf.php, method TCPDF::_objectkey()
        Compute encryption key depending on object number where the encrypted data is stored.
    _out
    in file tcpdf.php, method TCPDF::_out()
        Output a string to the document.
    _outCurve
    @@ -161,7 +165,7 @@
    _outRect
    in file tcpdf.php, method TCPDF::_outRect()
        Append a rectangle to the current path as a complete subpath, with lower-left corner (x, y) and dimensions widthand height in user space.
    _Ovalue
    -
    in file tcpdf.php, method TCPDF::_Ovalue()
        Compute O value (used for RC4 encryption)
    +
    in file tcpdf.php, method TCPDF::_Ovalue()
        Compute O value (used for encryption)
    _parsejpeg
    in file tcpdf.php, method TCPDF::_parsejpeg()
        Extract info from a JPEG file without using the GD library.
    _parsepng
    @@ -231,7 +235,7 @@
    _toPNG
    in file tcpdf.php, method TCPDF::_toPNG()
        Convert the loaded image to a PNG and then return a structure for the PDF creator.
    _Uvalue
    -
    in file tcpdf.php, method TCPDF::_Uvalue()
        Compute U value (used for RC4 encryption)
    +
    in file tcpdf.php, method TCPDF::_Uvalue()
        Compute U value (used for encryption)
    __construct
    in file tcpdf.php, method TCPDF::__construct()
        This is the class constructor.
    __construct
    @@ -486,6 +490,8 @@
    in file tcpdf.php, method TCPDF::commitTransaction()
        Delete the copy of the current TCPDF object used for undo operation.
    convertData
    in file qrcode.php, method QRcode::convertData()
        convertData
    +
    convertHexStringToString
    +
    in file tcpdf.php, method TCPDF::convertHexStringToString()
        Convert hexadecimal string to string
    convertHTMLColorToDec
    in file tcpdf.php, method TCPDF::convertHTMLColorToDec()
        Returns an associative array (keys: R,G,B) from an html color name or a six-digit or three-digit hexadecimal color representation (i.e. #3FE5AA or #7FF).
    convertSVGtMatrix
    @@ -558,12 +564,12 @@
    in file tcpdf.php, variable TCPDF::$embedded_start_obj_id
        Start ID for embedded file objects
    $encoding
    in file tcpdf.php, variable TCPDF::$encoding
    +
    $encryptdata
    +
    in file tcpdf.php, variable TCPDF::$encryptdata
        Array containing encryption settings
    $encrypted
    in file tcpdf.php, variable TCPDF::$encrypted
        Indicates whether document is protected
    -
    $encryption_key
    -
    in file tcpdf.php, variable TCPDF::$encryption_key
        RC4 encryption key
    -
    $enc_obj_id
    -
    in file tcpdf.php, variable TCPDF::$enc_obj_id
        encryption object id
    +
    $enc_padding
    +
    in file tcpdf.php, variable TCPDF::$enc_padding
        Encryption padding
    $endlinex
    in file tcpdf.php, variable TCPDF::$endlinex
        End position of the latest inserted line
    $epsmarker
    @@ -638,6 +644,8 @@
    in file tcpdf.php, variable TCPDF::$fgcolor
    $fhPt
    in file tcpdf.php, variable TCPDF::$fhPt
    +
    $file_id
    +
    in file tcpdf.php, variable TCPDF::$file_id
        File ID (used on trailer)
    $FillColor
    in file tcpdf.php, variable TCPDF::$FillColor
    $FontAscent
    @@ -717,11 +725,11 @@
    getBarcode
    in file tcpdf.php, method TCPDF::getBarcode()
        Get current barcode.
    getBarcodeArray
    -
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    -
    getBarcodeArray
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    getBarcodeArray
    in file 2dbarcodes.php, method TCPDF2DBarcode::getBarcodeArray()
        Return an array representations of barcode.
    +
    getBarcodeArray
    +
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    getBitStream
    in file qrcode.php, method QRcode::getBitStream()
        Returns a stream of bits.
    getBorderMode
    @@ -746,6 +754,8 @@
    in file qrcode.php, method QRcode::getECCLength()
        Return maximum error correction code length (bytes) for the version.
    getEccSpec
    in file qrcode.php, method QRcode::getEccSpec()
        Return an array of ECC specification.
    +
    getEncPermissionsString
    +
    in file tcpdf.php, method TCPDF::getEncPermissionsString()
        Convert encryption P value to a string of bytes, low-order byte first.
    getFontAscent
    in file tcpdf.php, method TCPDF::getFontAscent()
        Return the font ascent value
    getFontBuffer
    @@ -856,6 +866,8 @@
    in file tcpdf.php, method TCPDF::getSVGTransformMatrix()
        Get the tranformation matrix from SVG transform attribute
    getTransformationMatrixProduct
    in file tcpdf.php, method TCPDF::getTransformationMatrixProduct()
        Get the product of two SVG tranformation matrices
    +
    getUserPermissionCode
    +
    in file tcpdf.php, method TCPDF::getUserPermissionCode()
        Return the premission code used on encryption (P value).
    getVectorsAngle
    in file tcpdf.php, method TCPDF::getVectorsAngle()
        Returns the angle in radiants between two vectors
    getVersionPattern
    @@ -1064,10 +1076,10 @@
    in file tcpdf.php, variable TCPDF::$l
    $lasth
    in file tcpdf.php, variable TCPDF::$lasth
    -
    $last_rc4_key
    -
    in file tcpdf.php, variable TCPDF::$last_rc4_key
        last RC4 key encrypted (cached for optimisation)
    -
    $last_rc4_key_c
    -
    in file tcpdf.php, variable TCPDF::$last_rc4_key_c
        last RC4 computed key
    +
    $last_enc_key
    +
    in file tcpdf.php, variable TCPDF::$last_enc_key
        last RC4 key encrypted (cached for optimisation)
    +
    $last_enc_key_c
    +
    in file tcpdf.php, variable TCPDF::$last_enc_key_c
        last RC4 computed key
    $LayoutMode
    in file tcpdf.php, variable TCPDF::$LayoutMode
    $lengthTableBits
    @@ -1242,8 +1254,6 @@
    in file tcpdf.php, variable TCPDF::$OutlineRoot
        Outline root for bookmark
    $outlines
    in file tcpdf.php, variable TCPDF::$outlines
        Outlines for bookmark
    -
    $Ovalue
    -
    in file tcpdf.php, variable TCPDF::$Ovalue
        O entry in pdf document
    $overline
    in file tcpdf.php, variable TCPDF::$overline
    objclone
    @@ -1262,8 +1272,6 @@

    p

    -
    $padding
    -
    in file tcpdf.php, variable TCPDF::$padding
        RC4 padding
    $page
    in file tcpdf.php, variable TCPDF::$page
    $PageAnnots
    @@ -1294,8 +1302,6 @@
    in file tcpdf.php, variable TCPDF::$print_footer
    $print_header
    in file tcpdf.php, variable TCPDF::$print_header
    -
    $Pvalue
    -
    in file tcpdf.php, variable TCPDF::$Pvalue
        P entry in pdf document
    PageNo
    in file tcpdf.php, method TCPDF::PageNo()
        Returns the current page number.
    PageNoFormatted
    @@ -1689,7 +1695,7 @@
    setPrintHeader
    in file tcpdf.php, method TCPDF::setPrintHeader()
        Set a flag to print page header.
    SetProtection
    -
    in file tcpdf.php, method TCPDF::SetProtection()
        Set document protection
    +
    in file tcpdf.php, method TCPDF::SetProtection()
        Set document protection Remark: the protection against modification is for people who have the full Acrobat product.
    setRasterizeVectorImages
    in file tcpdf.php, method TCPDF::setRasterizeVectorImages()
        Enable/disable rasterization of SVG images using ImageMagick library.
    SetRightMargin
    @@ -1848,8 +1854,6 @@
    in file tcpdf.php, variable TCPDF::$ur_form
        Names specifying additional form-field-related usage rights for the document.
    $ur_signature
    in file tcpdf.php, variable TCPDF::$ur_signature
        Names specifying additional signature-related usage rights for the document.
    -
    $Uvalue
    -
    in file tcpdf.php, variable TCPDF::$Uvalue
        U entry in pdf document
    unhtmlentities
    in file tcpdf.php, method TCPDF::unhtmlentities()
        Reverse function for htmlentities.
    UniArrSubString
    @@ -1971,7 +1975,7 @@ top

    - Documentation generated on Mon, 10 May 2010 18:33:44 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:13 +0200 by phpDocumentor 1.4.3
    @@ -24309,7 +24482,7 @@ $font)
    -

    method _RC4 [line 8743]

    +

    method _RC4 [line 8849]

    diff --git a/doc/elementindex.html b/doc/elementindex.html index 0bc7916..34c0a0c 100644 --- a/doc/elementindex.html +++ b/doc/elementindex.html @@ -311,6 +311,8 @@
    in file tcpdf.php, method TCPDF::commitTransaction()
        Delete the copy of the current TCPDF object used for undo operation.
    convertData
    in file qrcode.php, method QRcode::convertData()
        convertData
    +
    convertHexStringToString
    +
    in file tcpdf.php, method TCPDF::convertHexStringToString()
        Convert hexadecimal string to string
    convertHTMLColorToDec
    in file tcpdf.php, method TCPDF::convertHTMLColorToDec()
        Returns an associative array (keys: R,G,B) from an html color name or a six-digit or three-digit hexadecimal color representation (i.e. #3FE5AA or #7FF).
    convertSVGtMatrix
    @@ -383,12 +385,12 @@
    in file tcpdf.php, variable TCPDF::$embedded_start_obj_id
        Start ID for embedded file objects
    $encoding
    in file tcpdf.php, variable TCPDF::$encoding
    +
    $encryptdata
    +
    in file tcpdf.php, variable TCPDF::$encryptdata
        Array containing encryption settings
    $encrypted
    in file tcpdf.php, variable TCPDF::$encrypted
        Indicates whether document is protected
    -
    $encryption_key
    -
    in file tcpdf.php, variable TCPDF::$encryption_key
        RC4 encryption key
    -
    $enc_obj_id
    -
    in file tcpdf.php, variable TCPDF::$enc_obj_id
        encryption object id
    +
    $enc_padding
    +
    in file tcpdf.php, variable TCPDF::$enc_padding
        Encryption padding
    $endlinex
    in file tcpdf.php, variable TCPDF::$endlinex
        End position of the latest inserted line
    $epsmarker
    @@ -463,6 +465,8 @@
    in file tcpdf.php, variable TCPDF::$fgcolor
    $fhPt
    in file tcpdf.php, variable TCPDF::$fhPt
    +
    $file_id
    +
    in file tcpdf.php, variable TCPDF::$file_id
        File ID (used on trailer)
    $FillColor
    in file tcpdf.php, variable TCPDF::$FillColor
    $FontAscent
    @@ -542,11 +546,11 @@
    getBarcode
    in file tcpdf.php, method TCPDF::getBarcode()
        Get current barcode.
    getBarcodeArray
    -
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    -
    getBarcodeArray
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    getBarcodeArray
    in file 2dbarcodes.php, method TCPDF2DBarcode::getBarcodeArray()
        Return an array representations of barcode.
    +
    getBarcodeArray
    +
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    getBitStream
    in file qrcode.php, method QRcode::getBitStream()
        Returns a stream of bits.
    getBorderMode
    @@ -571,6 +575,8 @@
    in file qrcode.php, method QRcode::getECCLength()
        Return maximum error correction code length (bytes) for the version.
    getEccSpec
    in file qrcode.php, method QRcode::getEccSpec()
        Return an array of ECC specification.
    +
    getEncPermissionsString
    +
    in file tcpdf.php, method TCPDF::getEncPermissionsString()
        Convert encryption P value to a string of bytes, low-order byte first.
    getFontAscent
    in file tcpdf.php, method TCPDF::getFontAscent()
        Return the font ascent value
    getFontBuffer
    @@ -681,6 +687,8 @@
    in file tcpdf.php, method TCPDF::getSVGTransformMatrix()
        Get the tranformation matrix from SVG transform attribute
    getTransformationMatrixProduct
    in file tcpdf.php, method TCPDF::getTransformationMatrixProduct()
        Get the product of two SVG tranformation matrices
    +
    getUserPermissionCode
    +
    in file tcpdf.php, method TCPDF::getUserPermissionCode()
        Return the premission code used on encryption (P value).
    getVectorsAngle
    in file tcpdf.php, method TCPDF::getVectorsAngle()
        Returns the angle in radiants between two vectors
    getVersionPattern
    @@ -889,10 +897,10 @@
    in file tcpdf.php, variable TCPDF::$l
    $lasth
    in file tcpdf.php, variable TCPDF::$lasth
    -
    $last_rc4_key
    -
    in file tcpdf.php, variable TCPDF::$last_rc4_key
        last RC4 key encrypted (cached for optimisation)
    -
    $last_rc4_key_c
    -
    in file tcpdf.php, variable TCPDF::$last_rc4_key_c
        last RC4 computed key
    +
    $last_enc_key
    +
    in file tcpdf.php, variable TCPDF::$last_enc_key
        last RC4 key encrypted (cached for optimisation)
    +
    $last_enc_key_c
    +
    in file tcpdf.php, variable TCPDF::$last_enc_key_c
        last RC4 computed key
    $LayoutMode
    in file tcpdf.php, variable TCPDF::$LayoutMode
    $lengthTableBits
    @@ -1067,8 +1075,6 @@
    in file tcpdf.php, variable TCPDF::$OutlineRoot
        Outline root for bookmark
    $outlines
    in file tcpdf.php, variable TCPDF::$outlines
        Outlines for bookmark
    -
    $Ovalue
    -
    in file tcpdf.php, variable TCPDF::$Ovalue
        O entry in pdf document
    $overline
    in file tcpdf.php, variable TCPDF::$overline
    objclone
    @@ -1087,8 +1093,6 @@

    p

    -
    $padding
    -
    in file tcpdf.php, variable TCPDF::$padding
        RC4 padding
    $page
    in file tcpdf.php, variable TCPDF::$page
    $PageAnnots
    @@ -1119,8 +1123,6 @@
    in file tcpdf.php, variable TCPDF::$print_footer
    $print_header
    in file tcpdf.php, variable TCPDF::$print_header
    -
    $Pvalue
    -
    in file tcpdf.php, variable TCPDF::$Pvalue
        P entry in pdf document
    PageNo
    in file tcpdf.php, method TCPDF::PageNo()
        Returns the current page number.
    PageNoFormatted
    @@ -1514,7 +1516,7 @@
    setPrintHeader
    in file tcpdf.php, method TCPDF::setPrintHeader()
        Set a flag to print page header.
    SetProtection
    -
    in file tcpdf.php, method TCPDF::SetProtection()
        Set document protection
    +
    in file tcpdf.php, method TCPDF::SetProtection()
        Set document protection Remark: the protection against modification is for people who have the full Acrobat product.
    setRasterizeVectorImages
    in file tcpdf.php, method TCPDF::setRasterizeVectorImages()
        Enable/disable rasterization of SVG images using ImageMagick library.
    SetRightMargin
    @@ -1673,8 +1675,6 @@
    in file tcpdf.php, variable TCPDF::$ur_form
        Names specifying additional form-field-related usage rights for the document.
    $ur_signature
    in file tcpdf.php, variable TCPDF::$ur_signature
        Names specifying additional signature-related usage rights for the document.
    -
    $Uvalue
    -
    in file tcpdf.php, variable TCPDF::$Uvalue
        U entry in pdf document
    unhtmlentities
    in file tcpdf.php, method TCPDF::unhtmlentities()
        Reverse function for htmlentities.
    UniArrSubString
    @@ -1791,6 +1791,8 @@
    _addfield
    in file tcpdf.php, method TCPDF::_addfield()
        Adds a javascript form field.
    +
    _AES
    +
    in file tcpdf.php, method TCPDF::_AES()
        Returns the input text exrypted using AES algorithm and the specified key.
    _beginpage
    in file tcpdf.php, method TCPDF::_beginpage()
        Initialize a new page.
    _dataannobjstring
    @@ -1815,6 +1817,8 @@
    in file tcpdf.php, method TCPDF::_dounderline()
        Underline text.
    _dounderlinew
    in file tcpdf.php, method TCPDF::_dounderlinew()
        Underline for rectangular text area.
    +
    _encrypt_data
    +
    in file tcpdf.php, method TCPDF::_encrypt_data()
        Encrypt the input string.
    _enddoc
    in file tcpdf.php, method TCPDF::_enddoc()
        Output end of document (EOF).
    _endpage
    @@ -1838,7 +1842,7 @@
    _newobj
    in file tcpdf.php, method TCPDF::_newobj()
        Begin a new object and return the object number.
    _objectkey
    -
    in file tcpdf.php, method TCPDF::_objectkey()
        Compute encryption key depending on object number where the encrypted data is stored
    +
    in file tcpdf.php, method TCPDF::_objectkey()
        Compute encryption key depending on object number where the encrypted data is stored.
    _out
    in file tcpdf.php, method TCPDF::_out()
        Output a string to the document.
    _outCurve
    @@ -1856,7 +1860,7 @@
    _outRect
    in file tcpdf.php, method TCPDF::_outRect()
        Append a rectangle to the current path as a complete subpath, with lower-left corner (x, y) and dimensions widthand height in user space.
    _Ovalue
    -
    in file tcpdf.php, method TCPDF::_Ovalue()
        Compute O value (used for RC4 encryption)
    +
    in file tcpdf.php, method TCPDF::_Ovalue()
        Compute O value (used for encryption)
    _parsejpeg
    in file tcpdf.php, method TCPDF::_parsejpeg()
        Extract info from a JPEG file without using the GD library.
    _parsepng
    @@ -1926,7 +1930,7 @@
    _toPNG
    in file tcpdf.php, method TCPDF::_toPNG()
        Convert the loaded image to a PNG and then return a structure for the PDF creator.
    _Uvalue
    -
    in file tcpdf.php, method TCPDF::_Uvalue()
        Compute U value (used for RC4 encryption)
    +
    in file tcpdf.php, method TCPDF::_Uvalue()
        Compute U value (used for encryption)
    __construct
    in file tcpdf.php, method TCPDF::__construct()
        This is the class constructor.
    __construct
    @@ -1942,7 +1946,7 @@ top

    - Documentation generated on Mon, 10 May 2010 18:33:44 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:13 +0200 by phpDocumentor 1.4.3
    - + @@ -24360,7 +24533,7 @@ $text)
    -

    method _setGDImageTransparency [line 5651]

    +

    method _setGDImageTransparency [line 5632]

    @@ -24328,7 +24501,7 @@ $text) return:  encrypted text
    author:  Klemen Vodopivecauthor:  Klemen Vodopivec, Nicola Asuni
    since:  2.0.000 (2008-01-02)
    diff --git a/doc/com-tecnick-tcpdf/_unicode_data.php.html b/doc/com-tecnick-tcpdf/_unicode_data.php.html index 09e6c54..2d1f773 100644 --- a/doc/com-tecnick-tcpdf/_unicode_data.php.html +++ b/doc/com-tecnick-tcpdf/_unicode_data.php.html @@ -243,7 +243,7 @@ Unicode Include file for TCPDF.




    - Documentation generated on Mon, 10 May 2010 18:33:48 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:18 +0200 by phpDocumentor 1.4.3
    @@ -24405,7 +24578,7 @@ $image)
    -

    method _textannobjstring [line 8187]

    +

    method _textannobjstring [line 8165]

    diff --git a/doc/com-tecnick-tcpdf/_tcpdf.php.html b/doc/com-tecnick-tcpdf/_tcpdf.php.html index ed65e04..6bdd0c1 100644 --- a/doc/com-tecnick-tcpdf/_tcpdf.php.html +++ b/doc/com-tecnick-tcpdf/_tcpdf.php.html @@ -79,7 +79,7 @@ This is a PHP class for generating PDF documents without requiring external exte - + @@ -110,7 +110,7 @@ unicode data

    diff --git a/doc/com-tecnick-tcpdf/_qrcode.php.html b/doc/com-tecnick-tcpdf/_qrcode.php.html index cf9e167..6510783 100644 --- a/doc/com-tecnick-tcpdf/_qrcode.php.html +++ b/doc/com-tecnick-tcpdf/_qrcode.php.html @@ -477,7 +477,7 @@ string $string, [int $split_length = 1])

    - Documentation generated on Mon, 10 May 2010 18:33:45 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    @@ -24444,7 +24617,7 @@ $s)
    -

    method _textstring [line 8173]

    +

    method _textstring [line 8151]

    diff --git a/doc/com-tecnick-tcpdf/_htmlcolors.php.html b/doc/com-tecnick-tcpdf/_htmlcolors.php.html index 5975b16..fa9fcb2 100644 --- a/doc/com-tecnick-tcpdf/_htmlcolors.php.html +++ b/doc/com-tecnick-tcpdf/_htmlcolors.php.html @@ -94,7 +94,7 @@ Array of WEB safe colors.




    - Documentation generated on Mon, 10 May 2010 18:33:45 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html index e62cf13..dfb3669 100644 --- a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html +++ b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html @@ -539,7 +539,7 @@ Configuration file for TCPDF.




    - Documentation generated on Mon, 10 May 2010 18:33:48 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:18 +0200 by phpDocumentor 1.4.3
    @@ -24483,7 +24656,7 @@ $s)
    -

    method _toJPEG [line 5614]

    +

    method _toJPEG [line 5595]

    diff --git a/doc/com-tecnick-tcpdf/_barcodes.php.html b/doc/com-tecnick-tcpdf/_barcodes.php.html index 94a75ee..b77b360 100644 --- a/doc/com-tecnick-tcpdf/_barcodes.php.html +++ b/doc/com-tecnick-tcpdf/_barcodes.php.html @@ -102,7 +102,7 @@ PHP class to creates array representations for common 1D barcodes to be used wit

    - Documentation generated on Mon, 10 May 2010 18:33:45 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html index a1eba34..8ea5307 100644 --- a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html +++ b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html @@ -102,7 +102,7 @@ PHP class to creates array representations for 2D barcodes to be used with TCPDF

    - Documentation generated on Mon, 10 May 2010 18:33:44 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    @@ -24525,7 +24698,7 @@ $file)
    -

    method _toPNG [line 5633]

    +

    method _toPNG [line 5614]

    diff --git a/doc/com-tecnick-tcpdf/TCPDFBarcode.html b/doc/com-tecnick-tcpdf/TCPDFBarcode.html index 80ae1bd..4b88024 100644 --- a/doc/com-tecnick-tcpdf/TCPDFBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDFBarcode.html @@ -1374,7 +1374,7 @@ $type)

    - Documentation generated on Mon, 10 May 2010 18:33:45 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html index eadadf2..e1036fa 100644 --- a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html @@ -296,7 +296,7 @@ $type)

    - Documentation generated on Mon, 10 May 2010 18:33:44 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:14 +0200 by phpDocumentor 1.4.3
    @@ -24570,7 +24743,7 @@ $file)
    -

    method _Uvalue [line 8809]

    +

    method _Uvalue [line 8955]

    @@ -24579,7 +24752,7 @@ $file)

    - Compute U value (used for RC4 encryption)



    + Compute U value (used for encryption)



    Tags:

    @@ -24587,7 +24760,7 @@ $file) - + @@ -24607,7 +24780,7 @@ $file)

    - Documentation generated on Mon, 10 May 2010 18:33:46 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:15 +0200 by phpDocumentor 1.4.3
    return:  U value
    author:  Klemen Vodopivecauthor:  Nicola Asuni
    since:  2.0.000 (2008-01-02)
    author:  Nicola Asuni
    version:  5.0.004version:  5.0.005
    copyright:  2002-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
    - PDF_PRODUCER = 'TCPDF 5.0.004 (http://www.tcpdf.org)' + PDF_PRODUCER = 'TCPDF 5.0.005 (http://www.tcpdf.org)'
    @@ -121,7 +121,7 @@ unicode data


    - Documentation generated on Mon, 10 May 2010 18:33:46 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 12 May 2010 14:44:15 +0200 by phpDocumentor 1.4.3