diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 7c0120a..be8f21b 100755 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,3 +1,7 @@ +5.9.006 (2010-10-16) + - Support for AES 256 bit encryption was added (see example n. 16). + - Method getNumLines() was fixed for the empty string case. + 5.9.005 (2010-10-18) - Method addPageRegion() was changed to accept regions starting exactly from the top of the page. diff --git a/README.TXT b/README.TXT index bdae2d8..db4b1a6 100755 --- a/README.TXT +++ b/README.TXT @@ -8,8 +8,8 @@ http://sourceforge.net/donate/index.php?group_id=128076 ------------------------------------------------------------ Name: TCPDF -Version: 5.9.005 -Release date: 2010-10-18 +Version: 5.9.006 +Release date: 2010-10-19 Author: Nicola Asuni Copyright (c) 2002-2010: @@ -39,7 +39,7 @@ Main Features: * 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, QR-Code, PDF417; * Grayscale, RGB, CMYK, Spot Colors and Transparencies; * automatic page header and footer management; - * document encryption and digital signature certifications; + * document encryption up to 256 bit and digital signature certifications; * transactions to UNDO commands; * PDF annotations, including links, text and file attachments; * text rendering modes (fill, stroke and clipping); diff --git a/doc/classtrees_com-tecnick-tcpdf.html b/doc/classtrees_com-tecnick-tcpdf.html index c616b0b..bb672c0 100644 --- a/doc/classtrees_com-tecnick-tcpdf.html +++ b/doc/classtrees_com-tecnick-tcpdf.html @@ -65,7 +65,7 @@

- Documentation generated on Mon, 18 Oct 2010 21:30:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:50 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/PDF417.html b/doc/com-tecnick-tcpdf/PDF417.html index f9ad671..c302520 100644 --- a/doc/com-tecnick-tcpdf/PDF417.html +++ b/doc/com-tecnick-tcpdf/PDF417.html @@ -1004,7 +1004,7 @@ $code)

- Documentation generated on Mon, 18 Oct 2010 21:30:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:51 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/QRcode.html b/doc/com-tecnick-tcpdf/QRcode.html index 642aa30..d348ee6 100644 --- a/doc/com-tecnick-tcpdf/QRcode.html +++ b/doc/com-tecnick-tcpdf/QRcode.html @@ -5552,7 +5552,7 @@ $frame)

- Documentation generated on Mon, 18 Oct 2010 21:30:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:51 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/TCPDF.html b/doc/com-tecnick-tcpdf/TCPDF.html index e266c5d..526fa5b 100644 --- a/doc/com-tecnick-tcpdf/TCPDF.html +++ b/doc/com-tecnick-tcpdf/TCPDF.html @@ -84,7 +84,7 @@ Source Location: /tcpdf.php

Version:

@@ -455,6 +455,7 @@ Source Location: /tcpdf.php

  • getPageWidth
  • getPathPaintOperator
  • getPDFData
  • +
  • getRandomSeed
  • getRawCharWidth
  • getRemainingWidth
  • getRTL
  • @@ -686,6 +687,7 @@ Source Location: /tcpdf.php

  • _endpage
  • _escape
  • _escapetext
  • +
  • _fixAES256Password
  • _freadint
  • _generateencryptionkey
  • _getannotsrefs
  • @@ -704,6 +706,7 @@ Source Location: /tcpdf.php

  • _md5_16
  • _newobj
  • _objectkey
  • +
  • _OEvalue
  • _out
  • _outCurve
  • _outCurveV
  • @@ -746,6 +749,7 @@ Source Location: /tcpdf.php

  • _textstring
  • _toJPEG
  • _toPNG
  • +
  • _UEvalue
  • _Uvalue
  • @@ -775,7 +779,7 @@ This is a PHP class for generating PDF documents without requiring external exte author:  Nicola Asuni - info@tecnick.com - version:  5.9.005 + version:  5.9.006 link:  http://www.tcpdf.org @@ -7178,7 +7182,7 @@ $diskcache = false])
    -

    method addExtGState [line 15280]

    +

    method addExtGState [line 15440]

    @@ -7289,7 +7293,7 @@ $subset = 'default'])
    -

    method addHtmlLink [line 11279]

    +

    method addHtmlLink [line 11283]

    @@ -7364,7 +7368,7 @@ $firstblock = false])
    -

    method addHTMLTOC [line 22559]

    +

    method addHTMLTOC [line 22719]

    @@ -7427,7 +7431,7 @@ $correct_align = true])
    -

    method addHTMLVertSpace [line 20991]

    +

    method addHTMLVertSpace [line 21151]

    @@ -7487,7 +7491,7 @@ $lasttag = false])
    -

    method addJavascriptObject [line 13864]

    +

    method addJavascriptObject [line 14024]

    @@ -7629,7 +7633,7 @@ $tocpage = false])
    -

    method addPageRegion [line 23652]

    +

    method addPageRegion [line 23812]

    @@ -7740,7 +7744,7 @@ $k)
    -

    method addTOC [line 22387]

    +

    method addTOC [line 22547]

    @@ -7899,7 +7903,7 @@ $brd = 0])
    -

    method AliasNbPages [line 15094]

    +

    method AliasNbPages [line 15254]

    @@ -7941,7 +7945,7 @@ $alias = '{nb}'])
    -

    method AliasNumPage [line 15121]

    +

    method AliasNumPage [line 15281]

    @@ -8058,7 +8062,7 @@ $spaces = 0])
    -

    method Arrow [line 13069]

    +

    method Arrow [line 13229]

    @@ -8136,7 +8140,7 @@ $arm_angle = 15])
    -

    method arrUTF8ToUTF16BE [line 11174]

    +

    method arrUTF8ToUTF16BE [line 11178]

    @@ -8211,7 +8215,7 @@ $setbom = true])
    -

    method Bookmark [line 13736]

    +

    method Bookmark [line 13896]

    @@ -8271,7 +8275,7 @@ $page = ''])
    -

    method Button [line 14750]

    +

    method Button [line 14910]

    @@ -8475,7 +8479,7 @@ $valign = 'M'])
    -

    method CheckBox [line 14680]

    +

    method CheckBox [line 14840]

    @@ -8619,7 +8623,7 @@ $addpage = true])
    -

    method checkPageRegions [line 23688]

    +

    method checkPageRegions [line 23848]

    @@ -8685,7 +8689,7 @@ $y)
    -

    method Circle [line 12757]

    +

    method Circle [line 12917]

    @@ -8784,7 +8788,7 @@ $angend:)
    -

    method Clip [line 15741]

    +

    method Clip [line 15901]

    @@ -8875,7 +8879,7 @@ $h)
    -

    method closeHTMLTagHandler [line 20473]

    +

    method closeHTMLTagHandler [line 20633]

    @@ -8935,7 +8939,7 @@ $dom)
    -

    method colorRegistrationBar [line 15416]

    +

    method colorRegistrationBar [line 15576]

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

    method ComboBox [line 14621]

    +

    method ComboBox [line 14781]

    @@ -9103,7 +9107,7 @@ $js = false])
    -

    method commitTransaction [line 22683]

    +

    method commitTransaction [line 22843]

    @@ -9131,7 +9135,7 @@ $js = false])
    -

    method convertHexStringToString [line 11902]

    +

    method convertHexStringToString [line 12062]

    @@ -9173,7 +9177,7 @@ $bs)
    -

    method convertHTMLColorToDec [line 11312]

    +

    method convertHTMLColorToDec [line 11316]

    @@ -9212,7 +9216,7 @@ $color = '#FFFFFF'])
    -

    method convertStringToHexString [line 11924]

    +

    method convertStringToHexString [line 12084]

    @@ -9257,7 +9261,7 @@ $s)
    -

    method convertSVGtMatrix [line 24178]

    +

    method convertSVGtMatrix [line 24338]

    @@ -9299,7 +9303,7 @@ $tm)
    -

    method CoonsPatchMesh [line 15656]

    +

    method CoonsPatchMesh [line 15816]

    @@ -9407,7 +9411,7 @@ $antialias = false])
    -

    method copyPage [line 22317]

    +

    method copyPage [line 22477]

    @@ -9449,7 +9453,7 @@ $page = 0])
    -

    method cropMark [line 15514]

    +

    method cropMark [line 15674]

    @@ -9521,7 +9525,7 @@ $color = array(0,0,0)])
    -

    method Curve [line 12563]

    +

    method Curve [line 12723]

    @@ -9623,7 +9627,7 @@ $fill_color = array()])
    -

    method deletePage [line 22174]

    +

    method deletePage [line 22334]

    @@ -9665,7 +9669,7 @@ $page)
    -

    method drawHTMLTagBorder [line 21033]

    +

    method drawHTMLTagBorder [line 21193]

    @@ -9710,7 +9714,7 @@ $xmax)
    -

    method Ellipse [line 12627]

    +

    method Ellipse [line 12787]

    @@ -9830,7 +9834,7 @@ $afinish:)
    -

    method empty_string [line 22737]

    +

    method empty_string [line 22897]

    @@ -9914,7 +9918,7 @@ $tocpage = false])
    -

    method endSVGElementHandler [line 25289]

    +

    method endSVGElementHandler [line 25449]

    @@ -9962,7 +9966,7 @@ $name)
    -

    method endTemplate [line 23419]

    +

    method endTemplate [line 23579]

    @@ -10069,7 +10073,7 @@ $msg)
    -

    method extractCSSproperties [line 17063]

    +

    method extractCSSproperties [line 17223]

    @@ -10114,7 +10118,7 @@ $cssdata)
    -

    method fitBlock [line 6955]

    +

    method fitBlock [line 6959]

    @@ -10226,7 +10230,7 @@ $y)
    -

    method formatPageNumber [line 15198]

    +

    method formatPageNumber [line 15358]

    @@ -10265,7 +10269,7 @@ $num)
    -

    method formatTOCPageNumber [line 15210]

    +

    method formatTOCPageNumber [line 15370]

    @@ -10307,7 +10311,7 @@ $num)
    -

    method GetAbsX [line 7714]

    +

    method GetAbsX [line 7718]

    @@ -10338,7 +10342,7 @@ $num)
    -

    method getAliasNbPages [line 15106]

    +

    method getAliasNbPages [line 15266]

    @@ -10369,7 +10373,7 @@ $num)
    -

    method getAliasNumPage [line 15134]

    +

    method getAliasNumPage [line 15294]

    @@ -10400,7 +10404,7 @@ $num)
    -

    method getAnnotOptFromJSProp [line 13989]

    +

    method getAnnotOptFromJSProp [line 14149]

    @@ -10514,7 +10518,7 @@ $getarray = false])
    -

    method getBarcode [line 16382]

    +

    method getBarcode [line 16542]

    @@ -10590,7 +10594,7 @@ $position = 'start'])
    -

    method getBorderStartPosition [line 21017]

    +

    method getBorderStartPosition [line 21177]

    @@ -10669,7 +10673,7 @@ $pagenum = ''])
    -

    method getBuffer [line 21850]

    +

    method getBuffer [line 22010]

    @@ -10886,7 +10890,7 @@ $valign = 'M'])
    -

    method getCellHeightRatio [line 15376]

    +

    method getCellHeightRatio [line 15536]

    @@ -11033,7 +11037,7 @@ $notlast = true])
    -

    method getColumn [line 22888]

    +

    method getColumn [line 23048]

    @@ -11064,7 +11068,7 @@ $notlast = true])
    -

    method getCSSBorderDashStyle [line 17363]

    +

    method getCSSBorderDashStyle [line 17523]

    @@ -11106,7 +11110,7 @@ $style)
    -

    method getCSSBorderStyle [line 17399]

    +

    method getCSSBorderStyle [line 17559]

    @@ -11148,7 +11152,7 @@ $cssborder)
    -

    method getCSSBorderWidth [line 17343]

    +

    method getCSSBorderWidth [line 17503]

    @@ -11190,7 +11194,7 @@ $width)
    -

    method getCSSFontSpacing [line 17556]

    +

    method getCSSFontSpacing [line 17716]

    @@ -11238,7 +11242,7 @@ $parent = 0])
    -

    method getCSSFontStretching [line 17587]

    +

    method getCSSFontStretching [line 17747]

    @@ -11286,7 +11290,7 @@ $parent = 100])
    -

    method getCSSMargin [line 17502]

    +

    method getCSSMargin [line 17662]

    @@ -11331,7 +11335,7 @@ $width = 0])
    -

    method getCSSPadding [line 17449]

    +

    method getCSSPadding [line 17609]

    @@ -11376,7 +11380,7 @@ $width = 0])
    -

    method getEncPermissionsString [line 11941]

    +

    method getEncPermissionsString [line 12101]

    @@ -11475,7 +11479,7 @@ $size = 0])
    -

    method getFontBuffer [line 22014]

    +

    method getFontBuffer [line 22174]

    @@ -11574,7 +11578,7 @@ $size = 0])
    -

    method getFontFamily [line 17041]

    +

    method getFontFamily [line 17201]

    @@ -11605,7 +11609,7 @@ $size = 0])
    -

    method getFontFamilyName [line 23317]

    +

    method getFontFamilyName [line 23477]

    @@ -11650,7 +11654,7 @@ $fontfamily)
    -

    method getFontSize [line 17021]

    +

    method getFontSize [line 17181]

    @@ -11681,7 +11685,7 @@ $fontfamily)
    -

    method getFontSizePt [line 17031]

    +

    method getFontSizePt [line 17191]

    @@ -11740,7 +11744,7 @@ $fontfamily)
    -

    method getFontSpacing [line 23605]

    +

    method getFontSpacing [line 23765]

    @@ -11774,7 +11778,7 @@ $fontfamily)
    -

    method getFontStretching [line 23583]

    +

    method getFontStretching [line 23743]

    @@ -11808,7 +11812,7 @@ $fontfamily)
    -

    method getFontStyle [line 17051]

    +

    method getFontStyle [line 17211]

    @@ -11839,7 +11843,7 @@ $fontfamily)
    -

    method getFontSubsetting [line 23253]

    +

    method getFontSubsetting [line 23413]

    @@ -11873,7 +11877,7 @@ $fontfamily)
    -

    method getFooterFont [line 11237]

    +

    method getFooterFont [line 11241]

    @@ -11929,7 +11933,7 @@ $fontfamily)
    -

    method getFormDefaultProp [line 14364]

    +

    method getFormDefaultProp [line 14524]

    @@ -11963,7 +11967,7 @@ $fontfamily)
    -

    method getGDgamma [line 7650]

    +

    method getGDgamma [line 7654]

    @@ -12002,7 +12006,7 @@ $v)
    -

    method getGraphicVars [line 21641]

    +

    method getGraphicVars [line 21801]

    @@ -12033,7 +12037,7 @@ $v)
    -

    method getGroupPageNo [line 15147]

    +

    method getGroupPageNo [line 15307]

    @@ -12064,7 +12068,7 @@ $v)
    -

    method getGroupPageNoFormatted [line 15157]

    +

    method getGroupPageNoFormatted [line 15317]

    @@ -12123,7 +12127,7 @@ $v)
    -

    method getHeaderFont [line 11217]

    +

    method getHeaderFont [line 11221]

    @@ -12179,7 +12183,7 @@ $v)
    -

    method getHtmlDomArray [line 17657]

    +

    method getHtmlDomArray [line 17817]

    @@ -12218,7 +12222,7 @@ $html)
    -

    method getHTMLUnitToUnits [line 21352]

    +

    method getHTMLUnitToUnits [line 21512]

    @@ -12284,7 +12288,7 @@ $point)
    -

    method getHyphenPatternsFromTEX [line 23054]

    +

    method getHyphenPatternsFromTEX [line 23214]

    @@ -12329,7 +12333,7 @@ $file)
    -

    method getImageBuffer [line 21952]

    +

    method getImageBuffer [line 22112]

    @@ -12371,7 +12375,7 @@ $image)
    -

    method getImageFileType [line 6925]

    +

    method getImageFileType [line 6929]

    @@ -12534,7 +12538,7 @@ $iminfo = array()])
    -

    method GetLineWidth [line 12303]

    +

    method GetLineWidth [line 12463]

    @@ -12568,7 +12572,7 @@ $iminfo = array()])
    -

    method getMargins [line 16980]

    +

    method getMargins [line 17140]

    @@ -12599,7 +12603,7 @@ $iminfo = array()])
    -

    method getNumberOfColumns [line 22898]

    +

    method getNumberOfColumns [line 23058]

    @@ -12781,7 +12785,7 @@ $border = 0])
    -

    method getObjFilename [line 21764]

    +

    method getObjFilename [line 21924]

    @@ -12826,7 +12830,7 @@ $prefix)
    -

    method getOriginalMargins [line 17007]

    +

    method getOriginalMargins [line 17167]

    @@ -12891,7 +12895,7 @@ $prefix)
    -

    method getPageBuffer [line 21893]

    +

    method getPageBuffer [line 22053]

    @@ -12978,7 +12982,7 @@ $pagenum = ''])
    -

    method getPageGroupAlias [line 15169]

    +

    method getPageGroupAlias [line 15329]

    @@ -13057,7 +13061,7 @@ $pagenum = ''])
    -

    method getPageNumGroupAlias [line 15184]

    +

    method getPageNumGroupAlias [line 15344]

    @@ -13088,7 +13092,7 @@ $pagenum = ''])
    -

    method getPageRegions [line 23617]

    +

    method getPageRegions [line 23777]

    @@ -13215,7 +13219,7 @@ $pagenum = ''])
    -

    method getPathPaintOperator [line 23165]

    +

    method getPathPaintOperator [line 23325]

    @@ -13269,7 +13273,7 @@ $mode)
    -

    method getPDFData [line 11260]

    +

    method getPDFData [line 11264]

    @@ -13292,6 +13296,51 @@ $mode)
    [ Top ]
    +
    + +

    method getRandomSeed [line 11407]

    +
    +
    +
    + string getRandomSeed( +[ +$seed = '']) +
    +

    + + Returns a string containing random data to be used as a seed for encryption methods.



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  containing random data
    author:  Nicola Asuni
    since:  5.9.006 (2010-10-19)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
      $seed  
    +

    +
    [ Top ]
    +

    method getRawCharWidth [line 4558]

    @@ -13339,7 +13388,7 @@ $char)
    -

    method getRemainingWidth [line 6825]

    +

    method getRemainingWidth [line 6829]

    @@ -13429,7 +13478,7 @@ $char)
    -

    method getSpaceString [line 18415]

    +

    method getSpaceString [line 18575]

    @@ -13460,7 +13509,7 @@ $char)
    -

    method getStringHeight [line 6426]

    +

    method getStringHeight [line 6430]

    @@ -13632,7 +13681,7 @@ $getarray = false])
    -

    method getSVGTransformMatrix [line 24064]

    +

    method getSVGTransformMatrix [line 24224]

    @@ -13677,7 +13726,7 @@ $attribute)
    -

    method getTagStyleFromCSS [line 17315]

    +

    method getTagStyleFromCSS [line 17475]

    @@ -13731,7 +13780,7 @@ $css)
    -

    method getTransformationMatrixProduct [line 24160]

    +

    method getTransformationMatrixProduct [line 24320]

    @@ -13782,7 +13831,7 @@ $tb)
    -

    method getUserPermissionCode [line 11781]

    +

    method getUserPermissionCode [line 11923]

    - +
    @@ -13822,7 +13871,7 @@ $mode = 0])
    int   $mode  encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit.encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit.

    @@ -13830,7 +13879,7 @@ $mode = 0])
    -

    method getVectorsAngle [line 24808]

    +

    method getVectorsAngle [line 24968]

    @@ -13890,7 +13939,7 @@ $y2)
    -

    method GetX [line 7698]

    +

    method GetX [line 7702]

    @@ -13921,7 +13970,7 @@ $y2)
    -

    method GetY [line 7725]

    +

    method GetY [line 7729]

    @@ -13952,7 +14001,7 @@ $y2)
    -

    method get_mqr [line 7349]

    +

    method get_mqr [line 7353]

    @@ -13983,7 +14032,7 @@ $y2)
    -

    method Gradient [line 15765]

    +

    method Gradient [line 15925]

    @@ -14074,7 +14123,7 @@ $antialias = false])
    -

    method hyphenateText [line 23093]

    +

    method hyphenateText [line 23253]

    @@ -14155,7 +14204,7 @@ $charmax = 8])
    -

    method hyphenateWord [line 22984]

    +

    method hyphenateWord [line 23144]

    @@ -14236,7 +14285,7 @@ $charmax = 8])
    -

    method Image [line 7032]

    +

    method Image [line 7036]

    @@ -14374,7 +14423,7 @@ $fitonpage = false])
    -

    method ImageEps [line 16113]

    +

    method ImageEps [line 16273]

    @@ -14476,7 +14525,7 @@ $fitonpage = false])
    -

    method ImagePngAlpha [line 7589]

    +

    method ImagePngAlpha [line 7593]

    @@ -14593,7 +14642,7 @@ $palign)
    -

    method ImageSVG [line 23774]

    +

    method ImageSVG [line 23934]

    @@ -14689,7 +14738,7 @@ $fitonpage = false])
    -

    method IncludeJS [line 13851]

    +

    method IncludeJS [line 14011]

    @@ -14731,7 +14780,7 @@ $script)
    -

    method intToRoman [line 21431]

    +

    method intToRoman [line 21591]

    @@ -14801,7 +14850,7 @@ $number)
    -

    method isUnicodeFont [line 23305]

    +

    method isUnicodeFont [line 23465]

    @@ -14835,7 +14884,7 @@ $number)
    -

    method isValidCSSSelectorForTag [line 17155]

    +

    method isValidCSSSelectorForTag [line 17315]

    @@ -14931,7 +14980,7 @@ $resetmargins = false])
    -

    method Line [line 12480]

    +

    method Line [line 12640]

    @@ -14997,7 +15046,7 @@ $style = array()])
    -

    method LinearGradient [line 15615]

    +

    method LinearGradient [line 15775]

    @@ -15147,7 +15196,7 @@ $spaces = 0])
    -

    method ListBox [line 14563]

    +

    method ListBox [line 14723]

    @@ -15237,7 +15286,7 @@ $js = false])
    -

    method Ln [line 7663]

    +

    method Ln [line 7667]

    @@ -15285,7 +15334,7 @@ $cell = false])
    -

    method MirrorH [line 12077]

    +

    method MirrorH [line 12237]

    @@ -15327,7 +15376,7 @@ $x = ''])
    -

    method MirrorL [line 12113]

    +

    method MirrorL [line 12273]

    @@ -15381,7 +15430,7 @@ $y = ''])
    -

    method MirrorP [line 12100]

    +

    method MirrorP [line 12260]

    @@ -15429,7 +15478,7 @@ $y = ''])
    -

    method MirrorV [line 12088]

    +

    method MirrorV [line 12248]

    @@ -15471,7 +15520,7 @@ $y = ''])
    -

    method movePage [line 22031]

    +

    method movePage [line 22191]

    @@ -15657,7 +15706,7 @@ $fitcell = false])
    -

    method objclone [line 22726]

    +

    method objclone [line 22886]

    @@ -15730,7 +15779,7 @@ $object)
    -

    method openHTMLTagHandler [line 19871]

    +

    method openHTMLTagHandler [line 20031]

    @@ -15784,7 +15833,7 @@ $dom)
    -

    method Output [line 7817]

    +

    method Output [line 7821]

    @@ -15866,7 +15915,7 @@ $dest = 'I'])
    -

    method PageNoFormatted [line 15220]

    +

    method PageNoFormatted [line 15380]

    @@ -15897,7 +15946,7 @@ $dest = 'I'])
    -

    method PieSector [line 16052]

    +

    method PieSector [line 16212]

    @@ -15993,7 +16042,7 @@ $o:)
    -

    method PieSectorXY [line 16073]

    +

    method PieSectorXY [line 16233]

    @@ -16101,7 +16150,7 @@ $o:)
    -

    method pixelsToUnits [line 11378]

    +

    method pixelsToUnits [line 11382]

    @@ -16143,7 +16192,7 @@ $px)
    -

    method Polycurve [line 12590]

    +

    method Polycurve [line 12750]

    @@ -16215,7 +16264,7 @@ $fill_color = array()])
    -

    method Polygon [line 12795]

    +

    method Polygon [line 12955]

    @@ -16278,7 +16327,7 @@ $closed = true])
    -

    method PolyLine [line 12776]

    +

    method PolyLine [line 12936]

    @@ -16341,7 +16390,7 @@ $closed)
    -

    method printTemplate [line 23448]

    +

    method printTemplate [line 23608]

    @@ -16428,7 +16477,7 @@ $fitonpage = false])
    -

    method putHtmlListBullet [line 21496]

    +

    method putHtmlListBullet [line 21656]

    @@ -16479,7 +16528,7 @@ $size = 10])
    -

    method RadialGradient [line 15633]

    +

    method RadialGradient [line 15793]

    @@ -16557,7 +16606,7 @@ $coords = array(0.5,0.5,0.5,0.5,1)])
    -

    method RadioButton [line 14471]

    +

    method RadioButton [line 14631]

    @@ -16647,7 +16696,7 @@ $js = false])
    -

    method readDiskCache [line 21804]

    +

    method readDiskCache [line 21964]

    @@ -16695,7 +16744,7 @@ $file)
    -

    method Rect [line 12508]

    +

    method Rect [line 12668]

    @@ -16773,7 +16822,7 @@ $fill_color = array()])
    -

    method registrationMark [line 15584]

    +

    method registrationMark [line 15744]

    @@ -16845,7 +16894,7 @@ $colb = array(255,255,255)])
    -

    method RegularPolygon [line 12893]

    +

    method RegularPolygon [line 13053]

    @@ -16956,7 +17005,7 @@ $r:)
    -

    method removePageRegion [line 23671]

    +

    method removePageRegion [line 23831]

    @@ -17043,7 +17092,7 @@ $txt = ''])
    -

    method replaceBuffer [line 21832]

    +

    method replaceBuffer [line 21992]

    @@ -17110,7 +17159,7 @@ $data)
    -

    method revstrpos [line 22750]

    +

    method revstrpos [line 22910]

    @@ -17164,7 +17213,7 @@ $offset = 0])
    -

    method rfread [line 7557]

    +

    method rfread [line 7561]

    @@ -17215,7 +17264,7 @@ $length)
    -

    method rollbackTransaction [line 22697]

    +

    method rollbackTransaction [line 22857]

    @@ -17257,7 +17306,7 @@ $self = false])
    -

    method Rotate [line 12170]

    +

    method Rotate [line 12330]

    @@ -17311,7 +17360,7 @@ $y = ''])
    -

    method RoundedRect [line 12983]

    +

    method RoundedRect [line 13143]

    @@ -17398,7 +17447,7 @@ $fill_color = array()])
    -

    method RoundedRectXY [line 13002]

    +

    method RoundedRectXY [line 13162]

    @@ -17491,7 +17540,7 @@ $fill_color = array()])
    -

    method Scale [line 12044]

    +

    method Scale [line 12204]

    @@ -17551,7 +17600,7 @@ $y = ''])
    -

    method ScaleX [line 12004]

    +

    method ScaleX [line 12164]

    @@ -17605,7 +17654,7 @@ $y = ''])
    -

    method ScaleXY [line 12030]

    +

    method ScaleXY [line 12190]

    @@ -17659,7 +17708,7 @@ $y = ''])
    -

    method ScaleY [line 12017]

    +

    method ScaleY [line 12177]

    @@ -17713,7 +17762,7 @@ $y = ''])
    -

    method segSVGContentHandler [line 25358]

    +

    method segSVGContentHandler [line 25518]

    @@ -17761,7 +17810,7 @@ $data)
    -

    method selectColumn [line 22813]

    +

    method selectColumn [line 22973]

    @@ -17800,7 +17849,7 @@ $col = ''])
    -

    method serializeTCPDFtagParameters [line 22909]

    +

    method serializeTCPDFtagParameters [line 23069]

    @@ -17842,7 +17891,7 @@ $pararray)
    -

    method setAlpha [line 15333]

    +

    method setAlpha [line 15493]

    @@ -17977,7 +18026,7 @@ $margin = 0])
    -

    method setBarcode [line 16372]

    +

    method setBarcode [line 16532]

    @@ -18013,7 +18062,7 @@ $bc = ''])
    -

    method SetBooklet [line 21266]

    +

    method SetBooklet [line 21426]

    @@ -18064,7 +18113,7 @@ $outer = -1])
    -

    method setBuffer [line 21814]

    +

    method setBuffer [line 21974]

    @@ -18103,7 +18152,7 @@ $data)
    -

    method setCellHeightRatio [line 15367]

    +

    method setCellHeightRatio [line 15527]

    @@ -18304,7 +18353,7 @@ $bottom = ''])
    -

    method setColumnsArray [line 22800]

    +

    method setColumnsArray [line 22960]

    @@ -18502,7 +18551,7 @@ $font)
    -

    method setDefaultTableColumns [line 15357]

    +

    method setDefaultTableColumns [line 15517]

    @@ -18760,7 +18809,7 @@ $tint = 100])
    -

    method setEqualColumns [line 22767]

    +

    method setEqualColumns [line 22927]

    @@ -18811,7 +18860,7 @@ $y = ''])
    -

    method setExtGState [line 15299]

    +

    method setExtGState [line 15459]

    @@ -19069,7 +19118,7 @@ $subset = 'default'])
    -

    method setFontBuffer [line 21968]

    +

    method setFontBuffer [line 22128]

    @@ -19162,7 +19211,7 @@ $out = true])
    -

    method setFontSpacing [line 23594]

    +

    method setFontSpacing [line 23754]

    @@ -19204,7 +19253,7 @@ $spacing = 0])
    -

    method setFontStretching [line 23572]

    +

    method setFontStretching [line 23732]

    @@ -19246,7 +19295,7 @@ $perc = 100])
    -

    method setFontSubBuffer [line 21994]

    +

    method setFontSubBuffer [line 22154]

    @@ -19297,7 +19346,7 @@ $data)
    -

    method setFontSubsetting [line 23242]

    +

    method setFontSubsetting [line 23402]

    @@ -19367,7 +19416,7 @@ $enable = true])
    -

    method setFooterFont [line 11227]

    +

    method setFooterFont [line 11231]

    @@ -19442,7 +19491,7 @@ $fm = 10])
    -

    method setFormDefaultProp [line 14353]

    +

    method setFormDefaultProp [line 14513]

    @@ -19484,7 +19533,7 @@ $prop = array()])
    -

    method setGraphicVars [line 21701]

    +

    method setGraphicVars [line 21861]

    @@ -19611,7 +19660,7 @@ $hs = ''])
    -

    method setHeaderFont [line 11207]

    +

    method setHeaderFont [line 11211]

    @@ -19686,7 +19735,7 @@ $hm = 10])
    -

    method setHtmlLinksStyle [line 21337]

    +

    method setHtmlLinksStyle [line 21497]

    @@ -19731,7 +19780,7 @@ $fontstyle = 'U'])
    -

    method setHtmlVSpace [line 21306]

    +

    method setHtmlVSpace [line 21466]

    @@ -19770,7 +19819,7 @@ $tagvs)
    -

    method setImageBuffer [line 21909]

    +

    method setImageBuffer [line 22069]

    @@ -19857,7 +19906,7 @@ $scale)
    -

    method setImageSubBuffer [line 21932]

    +

    method setImageSubBuffer [line 22092]

    @@ -19908,7 +19957,7 @@ $data)
    -

    method setJPEGQuality [line 15344]

    +

    method setJPEGQuality [line 15504]

    @@ -19989,7 +20038,7 @@ $keywords)
    -

    method setLanguageArray [line 11247]

    +

    method setLanguageArray [line 11251]

    @@ -20112,7 +20161,7 @@ $margin)
    -

    method SetLineStyle [line 12330]

    +

    method SetLineStyle [line 12490]

    @@ -20167,7 +20216,7 @@ $ret = false])
    -

    method SetLineWidth [line 12287]

    +

    method SetLineWidth [line 12447]

    @@ -20263,7 +20312,7 @@ $page = -1])
    -

    method setListIndentWidth [line 21316]

    +

    method setListIndentWidth [line 21476]

    @@ -20302,7 +20351,7 @@ $width)
    -

    method setLIsymbol [line 21227]

    +

    method setLIsymbol [line 21387]

    @@ -20401,7 +20450,7 @@ $keepmargins = false])
    -

    method setOpenCell [line 21326]

    +

    method setOpenCell [line 21486]

    @@ -20563,7 +20612,7 @@ $points = false])
    -

    method setPageBuffer [line 21866]

    +

    method setPageBuffer [line 22026]

    @@ -20741,7 +20790,7 @@ $bottommargin = ''])
    -

    method setPageRegions [line 23632]

    +

    method setPageRegions [line 23792]

    @@ -20825,7 +20874,7 @@ $unit)
    -

    method setPDFVersion [line 15386]

    +

    method setPDFVersion [line 15546]

    @@ -20942,7 +20991,7 @@ $val = true])
    -

    method SetProtection [line 11825]

    +

    method SetProtection [line 11967]

    - + @@ -21008,7 +21057,7 @@ $pubkeys = null])
    -

    method setRasterizeVectorImages [line 23139]

    +

    method setRasterizeVectorImages [line 23299]

    @@ -20995,7 +21044,7 @@ $pubkeys = null])
    int   $mode  encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit.encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit.
    String  
    @@ -21134,7 +21183,7 @@ $resetx = true])
    -

    method setSignature [line 15023]

    +

    method setSignature [line 15183]

    @@ -21206,7 +21255,7 @@ $info = array()])
    -

    method setSignatureAppearance [line 15059]

    +

    method setSignatureAppearance [line 15219]

    @@ -21359,7 +21408,7 @@ $subject)
    -

    method setSVGStyles [line 24217]

    +

    method setSVGStyles [line 24377]

    @@ -21612,7 +21661,7 @@ $color)
    -

    method setTextRenderingMode [line 22921]

    +

    method setTextRenderingMode [line 23081]

    @@ -21795,7 +21844,7 @@ $margin)
    -

    method setUserRights [line 14987]

    +

    method setUserRights [line 15147]

    @@ -21873,7 +21922,7 @@ $formex = ''])
    -

    method setViewerPreferences [line 15399]

    +

    method setViewerPreferences [line 15559]

    @@ -21915,7 +21964,7 @@ $preferences)
    -

    method setVisibility [line 15244]

    +

    method setVisibility [line 15404]

    @@ -21954,7 +22003,7 @@ $v)
    -

    method SetX [line 7738]

    +

    method SetX [line 7742]

    @@ -22002,7 +22051,7 @@ $rtloff = false])
    -

    method SetXY [line 7802]

    +

    method SetXY [line 7806]

    @@ -22056,7 +22105,7 @@ $rtloff = false])
    -

    method SetY [line 7770]

    +

    method SetY [line 7774]

    @@ -22110,7 +22159,7 @@ $rtloff = false])
    -

    method set_mqr [line 7334]

    +

    method set_mqr [line 7338]

    @@ -22149,7 +22198,7 @@ $mqr)
    -

    method Skew [line 12227]

    +

    method Skew [line 12387]

    @@ -22209,7 +22258,7 @@ $y = ''])
    -

    method SkewX [line 12200]

    +

    method SkewX [line 12360]

    @@ -22263,7 +22312,7 @@ $y = ''])
    -

    method SkewY [line 12213]

    +

    method SkewY [line 12373]

    @@ -22317,7 +22366,7 @@ $y = ''])
    -

    method StarPolygon [line 12941]

    +

    method StarPolygon [line 13101]

    @@ -22495,7 +22544,7 @@ $tocpage = false])
    -

    method startPageGroup [line 15079]

    +

    method startPageGroup [line 15239]

    @@ -22534,7 +22583,7 @@ $page = ''])
    -

    method startSVGElementHandler [line 24832]

    +

    method startSVGElementHandler [line 24992]

    @@ -22594,7 +22643,7 @@ $ctm = array()])
    -

    method startTemplate [line 23359]

    +

    method startTemplate [line 23519]

    @@ -22648,7 +22697,7 @@ $h = 0])
    -

    method startTransaction [line 22666]

    +

    method startTransaction [line 22826]

    @@ -22676,7 +22725,7 @@ $h = 0])
    -

    method StartTransform [line 11962]

    +

    method StartTransform [line 12122]

    @@ -22707,7 +22756,7 @@ $h = 0])
    -

    method StopTransform [line 11982]

    +

    method StopTransform [line 12142]

    @@ -22738,7 +22787,7 @@ $h = 0])
    -

    method stringLeftTrim [line 23266]

    +

    method stringLeftTrim [line 23426]

    @@ -22789,7 +22838,7 @@ $replace = ''])
    -

    method stringRightTrim [line 23279]

    +

    method stringRightTrim [line 23439]

    @@ -22840,7 +22889,7 @@ $replace = ''])
    -

    method stringTrim [line 23292]

    +

    method stringTrim [line 23452]

    @@ -22891,7 +22940,7 @@ $replace = ''])
    -

    method SVGPath [line 24488]

    +

    method SVGPath [line 24648]

    @@ -22942,7 +22991,7 @@ $style = ''])
    -

    method SVGTransform [line 24198]

    +

    method SVGTransform [line 24358]

    @@ -22981,7 +23030,7 @@ $tm)
    -

    method swapMargins [line 21282]

    +

    method swapMargins [line 21442]

    @@ -23191,7 +23240,7 @@ $rtloff = false])
    -

    method TextField [line 14382]

    +

    method TextField [line 14542]

    @@ -23275,7 +23324,7 @@ $js = false])
    -

    method Transform [line 12258]

    +

    method Transform [line 12418]

    @@ -23317,7 +23366,7 @@ $tm)
    -

    method Translate [line 12148]

    +

    method Translate [line 12308]

    @@ -23365,7 +23414,7 @@ $t_y)
    -

    method TranslateX [line 12125]

    +

    method TranslateX [line 12285]

    @@ -23407,7 +23456,7 @@ $t_x)
    -

    method TranslateY [line 12136]

    +

    method TranslateY [line 12296]

    @@ -23449,7 +23498,7 @@ $t_y)
    -

    method unhtmlentities [line 11389]

    +

    method unhtmlentities [line 11393]

    @@ -23488,7 +23537,7 @@ $text_to_convert)
    -

    method UniArrSubString [line 6865]

    +

    method UniArrSubString [line 6869]

    @@ -23542,7 +23591,7 @@ $end = ''])
    -

    method unichr [line 6898]

    +

    method unichr [line 6902]

    @@ -23587,7 +23636,7 @@ $c)
    -

    method UTF8ArrayToUniArray [line 6886]

    +

    method UTF8ArrayToUniArray [line 6890]

    @@ -23629,7 +23678,7 @@ $ta)
    -

    method UTF8ArrSubString [line 6842]

    +

    method UTF8ArrSubString [line 6846]

    @@ -23680,7 +23729,7 @@ $end = ''])
    -

    method UTF8ArrToLatin1 [line 11116]

    +

    method UTF8ArrToLatin1 [line 11120]

    @@ -23722,7 +23771,7 @@ $unicode)
    -

    method utf8Bidi [line 13163]

    +

    method utf8Bidi [line 13323]

    @@ -23779,7 +23828,7 @@ $forcertl = false])
    -

    method utf8StrArrRev [line 13149]

    +

    method utf8StrArrRev [line 13309]

    @@ -23839,7 +23888,7 @@ $forcertl = false])
    -

    method UTF8StringToArray [line 10952]

    +

    method UTF8StringToArray [line 10956]

    @@ -23905,7 +23954,7 @@ $str)
    -

    method utf8StrRev [line 13134]

    +

    method utf8StrRev [line 13294]

    @@ -23959,7 +24008,7 @@ $forcertl = false])
    -

    method UTF8ToLatin1 [line 11087]

    +

    method UTF8ToLatin1 [line 11091]

    @@ -24001,7 +24050,7 @@ $str)
    -

    method UTF8ToUTF16BE [line 11071]

    +

    method UTF8ToUTF16BE [line 11075]

    @@ -24052,7 +24101,7 @@ $setbom = true])
    -

    method Write [line 6463]

    +

    method Write [line 6467]

    @@ -24160,7 +24209,7 @@ $margin = ''])
    -

    method write1DBarcode [line 16414]

    +

    method write1DBarcode [line 16574]

    @@ -24250,7 +24299,7 @@ $align = ''])
    -

    method write2DBarcode [line 16757]

    +

    method write2DBarcode [line 16917]

    @@ -24340,7 +24389,7 @@ $distort = false])
    -

    method writeBarcode [line 16702]

    +

    method writeBarcode [line 16862]

    @@ -24430,7 +24479,7 @@ $code)
    -

    method writeDiskCache [line 21776]

    +

    method writeDiskCache [line 21936]

    @@ -24487,7 +24536,7 @@ $file)
    -

    method writeHTML [line 18459]

    +

    method writeHTML [line 18619]

    @@ -24553,7 +24602,7 @@ $align = ''])
    -

    method writeHTMLCell [line 18443]

    +

    method writeHTMLCell [line 18603]

    @@ -24655,7 +24704,7 @@ $autopadding = true])
    -

    method _addfield [line 13954]

    +

    method _addfield [line 14114]

    @@ -24733,7 +24782,7 @@ $prop)
    -

    method _AES [line 11613]

    +

    method _AES [line 11667]

    @@ -24784,7 +24833,7 @@ $text)
    -

    method _beginpage [line 10618]

    +

    method _beginpage [line 10622]

    @@ -24829,7 +24878,7 @@ $format = ''])
    -

    method _datastring [line 10799]

    +

    method _datastring [line 10803]

    @@ -24874,7 +24923,7 @@ $n = 0])
    -

    method _datestring [line 10814]

    +

    method _datestring [line 10818]

    @@ -24916,7 +24965,7 @@ $n = 0])
    -

    method _destroy [line 8011]

    +

    method _destroy [line 8015]

    @@ -24961,7 +25010,7 @@ $preserve_objcopy = false])
    -

    method _dochecks [line 8039]

    +

    method _dochecks [line 8043]

    @@ -24986,7 +25035,7 @@ $preserve_objcopy = false])
    -

    method _dolinethrough [line 10725]

    +

    method _dolinethrough [line 10729]

    @@ -25034,7 +25083,7 @@ $txt)
    -

    method _dolinethroughw [line 10738]

    +

    method _dolinethroughw [line 10742]

    @@ -25091,7 +25140,7 @@ $txt)
    -

    method _dooverline [line 10751]

    +

    method _dooverline [line 10755]

    @@ -25142,7 +25191,7 @@ $txt)
    -

    method _dooverlinew [line 10764]

    +

    method _dooverlinew [line 10768]

    @@ -25193,7 +25242,7 @@ $w)
    -

    method _dounderline [line 10700]

    +

    method _dounderline [line 10704]

    @@ -25241,7 +25290,7 @@ $txt)
    -

    method _dounderlinew [line 10713]

    +

    method _dounderlinew [line 10717]

    @@ -25292,11 +25341,11 @@ $w)
    -

    method _encrypt_data [line 11422]

    +

    method _encrypt_data [line 11470]

    - void _encrypt_data( + encrypted _encrypt_data( int $n, string $s) @@ -25307,6 +25356,9 @@ $s)

    Tags:

    + + + @@ -25340,7 +25392,7 @@ $s)
    -

    method _enddoc [line 10546]

    +

    method _enddoc [line 10550]

    return:  string
    author:  Nicola Asuni
    @@ -25365,7 +25417,7 @@ $s)
    -

    method _endpage [line 10662]

    +

    method _endpage [line 10666]

    @@ -25390,7 +25442,7 @@ $s)
    -

    method _escape [line 10787]

    +

    method _escape [line 10791]

    @@ -25429,7 +25481,7 @@ $s)
    -

    method _escapetext [line 10842]

    +

    method _escapetext [line 10846]

    @@ -25469,9 +25521,54 @@ $s)
    [ Top ]
    +
    + +

    method _fixAES256Password [line 11793]

    +
    +
    +
    + string _fixAES256Password( + +$password) +
    +

    + + Convert password for AES-256 encryption mode



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  password
    author:  Nicola Asuni
    since:  5.9.006 (2010-10-19)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
      $password  
    +

    +
    [ Top ]
    +

    -

    method _freadint [line 10776]

    +

    method _freadint [line 10780]

    @@ -25510,15 +25607,12 @@ $f)
    -

    method _generateencryptionkey [line 11700]

    +

    method _generateencryptionkey [line 11808]

    void _generateencryptionkey( -String -$user_pass, String -$owner_pass, String -$protection) +)

    @@ -25540,31 +25634,11 @@ $protection)

    -

    Parameters:

    -
    - - - - - - - - - - - - - - - - -
    String  $user_pass  user password
    String  $owner_pass  user password
    String  $protection  protection type
    -

    [ Top ]

    -

    method _getannotsrefs [line 8287]

    +

    method _getannotsrefs [line 8291]

    @@ -25606,7 +25680,7 @@ $n)
    -

    method _getBYTE [line 9021]

    +

    method _getBYTE [line 9025]

    @@ -25669,7 +25743,7 @@ $offset)
    -

    method _getfontpath [line 8055]

    +

    method _getfontpath [line 8059]

    @@ -25694,7 +25768,7 @@ $offset)
    -

    method _getobj [line 10684]

    +

    method _getobj [line 10688]

    @@ -25736,7 +25810,7 @@ $objid = ''])
    -

    method _getrawstream [line 10862]

    +

    method _getrawstream [line 10866]

    @@ -25784,7 +25858,7 @@ $n = 0])
    -

    method _getSHORT [line 9006]

    +

    method _getSHORT [line 9010]

    @@ -25847,7 +25921,7 @@ $offset)
    -

    method _getstream [line 10877]

    +

    method _getstream [line 10881]

    @@ -25892,7 +25966,7 @@ $n = 0])
    -

    method _getTrueTypeFontSubset [line 9036]

    +

    method _getTrueTypeFontSubset [line 9040]

    @@ -25943,7 +26017,7 @@ $subsetchars)
    -

    method _getTTFtableChecksum [line 9367]

    +

    method _getTTFtableChecksum [line 9371]

    @@ -25994,7 +26068,7 @@ $length)
    -

    method _getULONG [line 8976]

    +

    method _getULONG [line 8980]

    @@ -26057,7 +26131,7 @@ $offset)
    -

    method _getUSHORT [line 8991]

    +

    method _getUSHORT [line 8995]

    @@ -26120,7 +26194,7 @@ $offset)
    -

    method _getxobjectdict [line 10232]

    +

    method _getxobjectdict [line 10236]

    @@ -26151,7 +26225,7 @@ $offset)
    -

    method _JScolor [line 13930]

    +

    method _JScolor [line 14090]

    @@ -26193,7 +26267,7 @@ $color)
    -

    method _md5_16 [line 11631]

    +

    method _md5_16 [line 11685]

    @@ -26238,7 +26312,7 @@ $str)
    -

    method _newobj [line 10672]

    +

    method _newobj [line 10676]

    @@ -26266,11 +26340,11 @@ $str)
    -

    method _objectkey [line 11403]

    +

    method _objectkey [line 11450]

    - void _objectkey( + int _objectkey( int $n)
    @@ -26280,6 +26354,9 @@ $n)

    Tags:

    + + + @@ -26306,9 +26383,43 @@ $n)
    [ Top ]
    +
    + +

    method _OEvalue [line 11780]

    +
    +
    return:  object key
    author:  Nicola Asuni
    +
    + string _OEvalue( +) +
    +

    + + Compute OE value (used for encryption)



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  OE value
    author:  Nicola Asuni
    since:  5.9.006 (2010-10-19)
    access:  protected
    +
    +

    + + +
    [ Top ]
    +

    -

    method _out [line 10897]

    +

    method _out [line 10901]

    @@ -26344,7 +26455,7 @@ $s)
    -

    method _outCurve [line 12435]

    +

    method _outCurve [line 12595]

    @@ -26413,7 +26524,7 @@ $y3)
    -

    method _outCurveV [line 12449]

    +

    method _outCurveV [line 12609]

    @@ -26470,7 +26581,7 @@ $y3)
    -

    method _outCurveY [line 12465]

    +

    method _outCurveY [line 12625]

    @@ -26539,7 +26650,7 @@ $y2)
    -

    method _outellipticalarc [line 12661]

    +

    method _outellipticalarc [line 12821]

    @@ -26647,7 +26758,7 @@ $angf:)
    -

    method _outLine [line 12405]

    +

    method _outLine [line 12565]

    @@ -26692,7 +26803,7 @@ $y)
    -

    method _outPoint [line 12393]

    +

    method _outPoint [line 12553]

    @@ -26737,7 +26848,7 @@ $y)
    -

    method _outRect [line 12419]

    +

    method _outRect [line 12579]

    @@ -26800,14 +26911,12 @@ $op)
    -

    method _Ovalue [line 11644]

    +

    method _Ovalue [line 11742]

    - String _Ovalue( -String -$user_pass, String -$owner_pass) + string _Ovalue( +)

    @@ -26832,26 +26941,11 @@ $owner_pass)

    -

    Parameters:

    -
    - - - - - - - - - - - -
    String  $user_pass  user password
    String  $owner_pass  user password
    -

    [ Top ]

    -

    method _parsejpeg [line 7426]

    +

    method _parsejpeg [line 7430]

    @@ -26890,7 +26984,7 @@ $file)
    -

    method _parsepng [line 7452]

    +

    method _parsepng [line 7456]

    @@ -26929,7 +27023,7 @@ $file)
    -

    method _putannotsobjs [line 8323]

    +

    method _putannotsobjs [line 8327]

    @@ -26960,7 +27054,7 @@ $file)
    -

    method _putannotsrefs [line 8275]

    +

    method _putannotsrefs [line 8279]

    @@ -27005,7 +27099,7 @@ $n)
    -

    method _putAPXObject [line 8935]

    +

    method _putAPXObject [line 8939]

    @@ -27059,7 +27153,7 @@ $stream = ''])
    -

    method _putbookmarks [line 13767]

    +

    method _putbookmarks [line 13927]

    @@ -27090,7 +27184,7 @@ $stream = ''])
    -

    method _putcatalog [line 10371]

    +

    method _putcatalog [line 10375]

    @@ -27118,7 +27212,7 @@ $stream = ''])
    -

    method _putcidfont0 [line 10031]

    +

    method _putcidfont0 [line 10035]

    @@ -27191,7 +27285,7 @@ $font)
    -

    method _putencryption [line 11446]

    +

    method _putencryption [line 11498]

    @@ -27222,7 +27316,7 @@ $font)
    -

    method _putextgstates [line 15309]

    +

    method _putextgstates [line 15469]

    @@ -27261,7 +27355,7 @@ $gs)
    -

    method _putfonts [line 9488]

    +

    method _putfonts [line 9492]

    @@ -27289,7 +27383,7 @@ $gs)
    -

    method _putfontwidths [line 9389]

    +

    method _putfontwidths [line 9393]

    @@ -27340,7 +27434,7 @@ $cidoffset = 0])
    -

    method _putheader [line 10538]

    +

    method _putheader [line 10542]

    @@ -27365,7 +27459,7 @@ $cidoffset = 0])
    -

    method _putimages [line 10101]

    +

    method _putimages [line 10105]

    @@ -27390,7 +27484,7 @@ $cidoffset = 0])
    -

    method _putinfo [line 10324]

    +

    method _putinfo [line 10328]

    @@ -27418,7 +27512,7 @@ $cidoffset = 0])
    -

    method _putjavascript [line 13876]

    +

    method _putjavascript [line 14036]

    @@ -27449,7 +27543,7 @@ $cidoffset = 0])
    -

    method _putocg [line 15229]

    +

    method _putocg [line 15389]

    @@ -27477,7 +27571,7 @@ $cidoffset = 0])
    -

    method _putpages [line 8066]

    +

    method _putpages [line 8070]

    @@ -27502,7 +27596,7 @@ $cidoffset = 0])
    -

    method _putresourcedict [line 10244]

    +

    method _putresourcedict [line 10248]

    @@ -27527,7 +27621,7 @@ $cidoffset = 0])
    -

    method _putresources [line 10302]

    +

    method _putresources [line 10306]

    @@ -27552,7 +27646,7 @@ $cidoffset = 0])
    -

    method _putshaders [line 15863]

    +

    method _putshaders [line 16023]

    @@ -27583,7 +27677,7 @@ $cidoffset = 0])
    -

    method _putsignature [line 14902]

    +

    method _putsignature [line 15062]

    diff --git a/examples/example_016.php b/examples/example_016.php index 8b8ea88..d29e7f7 100755 --- a/examples/example_016.php +++ b/examples/example_016.php @@ -2,7 +2,7 @@ //============================================================+ // File name : example_016.php // Begin : 2008-03-04 -// Last Update : 2010-08-08 +// Last Update : 2010-10-19 // // Description : Example 016 for TCPDF class // Document Encryption / Security @@ -53,12 +53,13 @@ $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', 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. + The master (owner) password, if different from the user one, can be used to get full document access. Possible encryption modes are: - - 0 = RSA 40 bit - - 1 = RSA 128 bit - - 2 = AES 128 bit + 0 = RSA 40 bit + 1 = RSA 128 bit + 2 = AES 128 bit + 3 = AES 256 bit NOTES: - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt diff --git a/tcpdf.php b/tcpdf.php index f6c478e..ebe5b78 100755 --- a/tcpdf.php +++ b/tcpdf.php @@ -1,9 +1,9 @@ 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, QR-Code, PDF417; *
  • Grayscale, RGB, CMYK, Spot Colors and Transparencies;
  • *
  • automatic page header and footer management;
  • - *
  • document encryption and digital signature certifications;
  • + *
  • document encryption up to 256 bit and digital signature certifications;
  • *
  • transactions to UNDO commands;
  • *
  • PDF annotations, including links, text and file attachments;
  • *
  • text rendering modes (fill, stroke and clipping);
  • @@ -134,7 +134,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.9.005 + * @version 5.9.006 */ /** @@ -146,14 +146,14 @@ require_once(dirname(__FILE__).'/config/tcpdf_config.php'); /** * define default PDF document producer */ -define('PDF_PRODUCER', 'TCPDF 5.9.005 (http://www.tcpdf.org)'); +define('PDF_PRODUCER', 'TCPDF 5.9.006 (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.9.005 +* @version 5.9.006 * @author Nicola Asuni - info@tecnick.com * @link http://www.tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL @@ -1880,7 +1880,7 @@ class TCPDF { } $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(''.rand())); + $this->file_id = md5($this->getRandomSeed('TCPDF'.$orientation.$unit.$format.$encoding)); // get default graphic vars $this->default_graphic_vars = $this->getGraphicVars(); } @@ -6325,6 +6325,10 @@ class TCPDF { * @since 4.5.011 */ public function getNumLines($txt, $w=0, $reseth=false, $autopadding=true, $cellpadding='', $border=0) { + if ($txt === '') { + // empty string + return 1; + } // adjust internal padding $prev_cell_padding = $this->cell_padding; $prev_lasth = $this->lasth; @@ -11392,19 +11396,62 @@ class TCPDF { // ENCRYPTION METHODS ---------------------------------- + /** + * Returns a string containing random data to be used as a seed for encryption methods. + * @seed string starting seed value + * @return string containing random data + * @author Nicola Asuni + * @since 5.9.006 (2010-10-19) + * @access protected + */ + protected function getRandomSeed($seed='') { + $seed .= microtime(); + if (function_exists('openssl_random_pseudo_bytes')) { + $seed .= openssl_random_pseudo_bytes(512); + } + $seed .= uniqid('', true); + $seed .= rand(); + $seed .= getmypid(); + $seed .= __FILE__; + $seed .= $this->bufferlen; + if (isset($_SERVER['REMOTE_ADDR'])) { + $seed .= $_SERVER['REMOTE_ADDR']; + } + if (isset($_SERVER['HTTP_USER_AGENT'])) { + $seed .= $_SERVER['HTTP_USER_AGENT']; + } + if (isset($_SERVER['HTTP_ACCEPT'])) { + $seed .= $_SERVER['HTTP_ACCEPT']; + } + if (isset($_SERVER['HTTP_ACCEPT_ENCODING'])) { + $seed .= $_SERVER['HTTP_ACCEPT_ENCODING']; + } + if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { + $seed .= $_SERVER['HTTP_ACCEPT_LANGUAGE']; + } + if (isset($_SERVER['HTTP_ACCEPT_CHARSET'])) { + $seed .= $_SERVER['HTTP_ACCEPT_CHARSET']; + } + $seed .= rand(); + $seed .= uniqid('', true); + $seed .= microtime(); + return $seed; + } + /** * 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 + * @return int object key * @access protected * @author Nicola Asuni * @since 2.0.000 (2008-01-02) */ protected function _objectkey($n) { $objkey = $this->encryptdata['key'].pack('VXxx', $n); - if ($this->encryptdata['mode'] == 2) { + if ($this->encryptdata['mode'] == 2) { // AES-128 // AES padding - $objkey .= "\x73\x41\x6C\x54"; + $objkey .= "\x73\x41\x6C\x54"; // sAlT } $objkey = substr($this->_md5_16($objkey), 0, (($this->encryptdata['Length'] / 8) + 5)); $objkey = substr($objkey, 0, 16); @@ -11415,6 +11462,7 @@ class TCPDF { * Encrypt the input string. * @param int $n object number * @param string $s data string to encrypt + * @return encrypted string * @access protected * @author Nicola Asuni * @since 5.0.005 (2010-05-11) @@ -11424,15 +11472,19 @@ class TCPDF { return $s; } switch ($this->encryptdata['mode']) { - case 0: // RC4 40 bit - case 1: { // RC4 128 bit + case 0: // RC4-40 + case 1: { // RC4-128 $s = $this->_RC4($this->_objectkey($n), $s); break; } - case 2: { // AES 128 bit + case 2: { // AES-128 $s = $this->_AES($this->_objectkey($n), $s); break; } + case 3: { // AES-256 + $s = $this->_AES($this->encryptdata['key'], $s); + break; + } } return $s; } @@ -11461,16 +11513,13 @@ class TCPDF { } // 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'] == 1) { + 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 256 + $out .= ' /Length '.$this->encryptdata['Length']; + } else { $out .= ' /Length 40'; - } elseif (($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 ($this->encryptdata['V'] >= 4) { if (!isset($this->encryptdata['StmF']) OR empty($this->encryptdata['StmF'])) { $this->encryptdata['StmF'] = 'Identity'; } @@ -11533,11 +11582,16 @@ class TCPDF { } } else { $out .= ' /R'; - if ($this->encryptdata['V'] == 4) { + if ($this->encryptdata['V'] == 5) { // AES-256 + $out .= ' 5'; + $out .= ' /OE ('.$this->_escape($this->encryptdata['OE']).')'; + $out .= ' /UE ('.$this->_escape($this->encryptdata['UE']).')'; + $out .= ' /Perms ('.$this->_escape($this->encryptdata['perms']).')'; + } elseif ($this->encryptdata['V'] == 4) { // AES-128 $out .= ' 4'; - } elseif ($this->encryptdata['V'] < 2) { + } elseif ($this->encryptdata['V'] < 2) { // RC-40 $out .= ' 2'; - } else { + } else { // RC-128 $out .= ' 3'; } $out .= ' /O ('.$this->_escape($this->encryptdata['O']).')'; @@ -11555,7 +11609,7 @@ class TCPDF { } /** - * Returns the input text exrypted using RC4 algorithm and the specified key. + * Returns the input text encrypted using RC4 algorithm and the specified key. * RC4 is the standard encryption algorithm used in PDF format * @param string $key encryption key * @param String $text input text to be encrypted @@ -11632,103 +11686,187 @@ class TCPDF { return pack('H*', md5($str)); } - /** - * 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 Nicola Asuni - */ - protected function _Ovalue($user_pass, $owner_pass) { - $tmp = $this->_md5_16($owner_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 encryption) - * @return String U value + * @return string U value * @access protected * @since 2.0.000 (2008-01-02) * @author Nicola Asuni */ protected function _Uvalue() { - if ($this->encryptdata['mode'] == 0) { + if ($this->encryptdata['mode'] == 0) { // RC4-40 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); + } elseif ($this->encryptdata['mode'] < 3) { // RC4-128, AES-128 + $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 = $this->_RC4($ek, $enc); + $enc .= str_repeat("\x00", 16); + return substr($enc, 0, 32); + } elseif ($this->encryptdata['mode'] == 3) { // AES-256 + $seed = $this->_md5_16($this->getRandomSeed()); + // User Validation Salt + $this->encryptdata['UVS'] = substr($seed, 0, 8); + // User Key Salt + $this->encryptdata['UKS'] = substr($seed, 8, 16); + return hash('sha256', $this->encryptdata['user_password'].$this->encryptdata['UVS'], true).$this->encryptdata['UVS'].$this->encryptdata['UKS']; } - $enc .= str_repeat("\x00", 16); - return substr($enc, 0, 32); } /** - * Compute encryption key - * @param String $user_pass user password - * @param String $owner_pass user password - * @param String $protection protection type + * Compute UE value (used for encryption) + * @return string UE value + * @access protected + * @since 5.9.006 (2010-10-19) + * @author Nicola Asuni + */ + protected function _UEvalue() { + $hashkey = hash('sha256', $this->encryptdata['user_password'].$this->encryptdata['UKS'], true); + $iv = str_repeat("\x00", mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)); + return mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $hashkey, $this->encryptdata['key'], MCRYPT_MODE_CBC, $iv); + } + + /** + * Compute O value (used for encryption) + * @return string O value * @access protected * @since 2.0.000 (2008-01-02) * @author Nicola Asuni */ - protected function _generateencryptionkey($user_pass, $owner_pass, $protection) { - $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']); + protected function _Ovalue() { + if ($this->encryptdata['mode'] < 3) { // RC4-40, RC4-128, AES-128 + $tmp = $this->_md5_16($this->encryptdata['owner_password']); if ($this->encryptdata['mode'] > 0) { for ($i = 0; $i < 50; ++$i) { - $tmp = $this->_md5_16(substr($tmp, 0, $keybytelen)); + $tmp = $this->_md5_16($tmp); } } - $this->encryptdata['key'] = substr($tmp, 0, $keybytelen); - // Compute U value - $this->encryptdata['U'] = $this->_Uvalue(); - // Compute P value - $this->encryptdata['P'] = $protection; + $owner_key = substr($tmp, 0, ($this->encryptdata['Length'] / 8)); + $enc = $this->_RC4($owner_key, $this->encryptdata['user_password']); + 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; + } elseif ($this->encryptdata['mode'] == 3) { // AES-256 + $seed = $this->_md5_16($this->getRandomSeed()); + // Owner Validation Salt + $this->encryptdata['OVS'] = substr($seed, 0, 8); + // Owner Key Salt + $this->encryptdata['OKS'] = substr($seed, 8, 16); + return hash('sha256', $this->encryptdata['owner_password'].$this->encryptdata['OVS'].$this->encryptdata['U'], true).$this->encryptdata['OVS'].$this->encryptdata['OKS']; + } + } + + /** + * Compute OE value (used for encryption) + * @return string OE value + * @access protected + * @since 5.9.006 (2010-10-19) + * @author Nicola Asuni + */ + protected function _OEvalue() { + $hashkey = hash('sha256', $this->encryptdata['owner_password'].$this->encryptdata['OKS'].$this->encryptdata['U'], true); + $iv = str_repeat("\x00", mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)); + return mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $hashkey, $this->encryptdata['key'], MCRYPT_MODE_CBC, $iv); + } + + /** + * Convert password for AES-256 encryption mode + * @return string password + * @access protected + * @since 5.9.006 (2010-10-19) + * @author Nicola Asuni + */ + protected function _fixAES256Password($password) { + $psw = ''; // password to be returned + $psw_array = $this->utf8Bidi($this->UTF8StringToArray($password), $password, $this->rtl); + foreach ($psw_array as $c) { + $psw .= $this->unichr($c); + } + return substr($psw, 0, 127); + } + + /** + * Compute encryption key + * @access protected + * @since 2.0.000 (2008-01-02) + * @author Nicola Asuni + */ + protected function _generateencryptionkey() { + $keybytelen = ($this->encryptdata['Length'] / 8); + if (!$this->encryptdata['pubkey']) { // standard mode + if ($this->encryptdata['mode'] == 3) { // AES-256 + // generate 256 bit random key + $this->encryptdata['key'] = substr(hash('sha256', $this->getRandomSeed(), true), 0, $keybytelen); + // truncate passwords + $this->encryptdata['user_password'] = $this->_fixAES256Password($this->encryptdata['user_password']); + $this->encryptdata['owner_password'] = $this->_fixAES256Password($this->encryptdata['owner_password']); + // Compute U value + $this->encryptdata['U'] = $this->_Uvalue(); + // Compute UE value + $this->encryptdata['UE'] = $this->_UEvalue(); + // Compute O value + $this->encryptdata['O'] = $this->_Ovalue(); + // Compute OE value + $this->encryptdata['OE'] = $this->_OEvalue(); + // Compute P value + $this->encryptdata['P'] = $this->encryptdata['protection']; + // Computing the encryption dictionary's Perms (permissions) value + $perms = $this->getEncPermissionsString($this->encryptdata['protection']); // bytes 0-3 + $perms .= chr(255).chr(255).chr(255).chr(255); // bytes 4-7 + if (isset($this->encryptdata['CF']['EncryptMetadata']) AND (!$this->encryptdata['CF']['EncryptMetadata'])) { // byte 8 + $perms .= 'F'; + } else { + $perms .= 'T'; + } + $perms .= 'adb'; // bytes 9-11 + $perms .= 'nick'; // bytes 12-15 + $iv = str_repeat("\x00", mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)); + $this->encryptdata['perms'] = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $this->encryptdata['key'], $perms, MCRYPT_MODE_ECB, $iv); + } else { // RC4-40, RC4-128, AES-128 + // Pad passwords + $this->encryptdata['user_password'] = substr($this->encryptdata['user_password'].$this->enc_padding, 0, 32); + $this->encryptdata['owner_password'] = substr($this->encryptdata['owner_password'].$this->enc_padding, 0, 32); + // Compute O value + $this->encryptdata['O'] = $this->_Ovalue(); + // get default permissions (reverse byte order) + $permissions = $this->getEncPermissionsString($this->encryptdata['protection']); + // Compute encryption key + $tmp = $this->_md5_16($this->encryptdata['user_password'].$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'] = $this->encryptdata['protection']; + } } else { // Public-Key mode // random 20-byte seed - $seed = sha1(microtime().uniqid(''.rand()).$this->file_id, true); + $seed = sha1($this->getRandomSeed(), 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; + $pkprotection = $this->encryptdata['protection']; } // get default permissions (reverse byte order) $pkpermissions = $this->getEncPermissionsString($pkprotection); @@ -11766,14 +11904,18 @@ class TCPDF { $recipient_bytes .= $signature; } // calculate encryption key - $this->encryptdata['key'] = substr(sha1($seed.$recipient_bytes, true), 0, $keybytelen); + if ($this->encryptdata['mode'] == 3) { // AES-256 + $this->encryptdata['key'] = substr(hash('sha256', $seed.$recipient_bytes, true), 0, $keybytelen); + } else { // RC4-40, RC4-128, AES-128 + $this->encryptdata['key'] = substr(sha1($seed.$recipient_bytes, true), 0, $keybytelen); + } } } /** * 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. + * @param int $mode encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit. * @access protected * @since 5.0.005 (2010-05-12) * @author Nicola Asuni @@ -11790,7 +11932,7 @@ class TCPDF { 'assemble' => 1024,// bit 11 'print-high' => 2048 // bit 12 ); - $protection = 2147422012; // (01111111111111110000111100111100) + $protection = 2147422012; // 32 bit: (01111111 11111111 00001111 00111100) foreach ($permissions as $permission) { if (!isset($options[$permission])) { $this->Error('Incorrect permission: '.$permission); @@ -11816,14 +11958,14 @@ class TCPDF { * @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 int $mode encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 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); + $this->encryptdata['protection'] = $this->getUserPermissionCode($permissions, $mode); if (($pubkeys !== null) AND (is_array($pubkeys))) { // public-key mode $this->encryptdata['pubkeys'] = $pubkeys; @@ -11848,15 +11990,21 @@ class TCPDF { } if ($mode > 1) { // AES if (!extension_loaded('mcrypt')) { - $this->Error('AES encryption requires mcrypt library.'); + $this->Error('AES encryption requires mcrypt library (http://www.php.net/manual/en/mcrypt.requirements.php).'); } if (mcrypt_get_cipher_name(MCRYPT_RIJNDAEL_128) === false) { $this->Error('AES encryption requires MCRYPT_RIJNDAEL_128 cypher.'); } + if (($mode == 3) AND !function_exists('hash')) { + // the Hash extension requires no external libraries and is enabled by default as of PHP 5.1.2. + $this->Error('AES 256 encryption requires HASH Message Digest Framework (http://www.php.net/manual/en/book.hash.php).'); + } } if ($owner_pass === null) { - $owner_pass = uniqid(''.rand()); + $owner_pass = md5($this->getRandomSeed()); } + $this->encryptdata['user_password'] = $user_pass; + $this->encryptdata['owner_password'] = $owner_pass; $this->encryptdata['mode'] = $mode; switch ($mode) { case 0: { // RC4 40 bit @@ -11879,6 +12027,18 @@ class TCPDF { $this->encryptdata['V'] = 4; $this->encryptdata['Length'] = 128; $this->encryptdata['CF']['CFM'] = 'AESV2'; + $this->encryptdata['CF']['Length'] = 128; + if ($this->encryptdata['pubkey']) { + $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s5'; + $this->encryptdata['Recipients'] = array(); + } + break; + } + case 3: { // AES 256 bit + $this->encryptdata['V'] = 5; + $this->encryptdata['Length'] = 256; + $this->encryptdata['CF']['CFM'] = 'AESV3'; + $this->encryptdata['CF']['Length'] = 256; if ($this->encryptdata['pubkey']) { $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s5'; $this->encryptdata['Recipients'] = array(); @@ -11888,7 +12048,7 @@ class TCPDF { } $this->encrypted = true; $this->encryptdata['fileid'] = $this->convertHexStringToString($this->file_id); - $this->_generateencryptionkey($user_pass, $owner_pass, $protection); + $this->_generateencryptionkey(); } /**
    @@ -27614,7 +27708,7 @@ $cidoffset = 0])
    -

    method _putspotcolors [line 10212]

    +

    method _putspotcolors [line 10216]

    diff --git a/doc/li_com-tecnick-tcpdf.html b/doc/li_com-tecnick-tcpdf.html index e83d2e5..7ea3a67 100644 --- a/doc/li_com-tecnick-tcpdf.html +++ b/doc/li_com-tecnick-tcpdf.html @@ -68,7 +68,7 @@ This documentation was generated by phpDocumentor v1.4.3

    - Documentation generated on Mon, 18 Oct 2010 21:30:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:50 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/index.html b/doc/index.html index e83d2e5..7ea3a67 100644 --- a/doc/index.html +++ b/doc/index.html @@ -68,7 +68,7 @@ This documentation was generated by phpDocumentor v1.4.3

    - Documentation generated on Mon, 18 Oct 2010 21:30:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:50 +0200 by phpDocumentor 1.4.3
    @@ -27642,7 +27736,7 @@ $cidoffset = 0])
    -

    method _putstream [line 10888]

    +

    method _putstream [line 10892]

    diff --git a/doc/errors.html b/doc/errors.html index 20aa66f..a2e1b66 100644 --- a/doc/errors.html +++ b/doc/errors.html @@ -33,9 +33,13 @@
    diff --git a/doc/elementindex_com-tecnick-tcpdf.html b/doc/elementindex_com-tecnick-tcpdf.html index 2d2ef8b..d59941d 100644 --- a/doc/elementindex_com-tecnick-tcpdf.html +++ b/doc/elementindex_com-tecnick-tcpdf.html @@ -134,6 +134,8 @@
    in file tcpdf.php, method TCPDF::_escape()
        Add "\" before "\", "(" and ")"
    _escapetext
    in file tcpdf.php, method TCPDF::_escapetext()
        THIS METHOD IS DEPRECATED
    +
    _fixAES256Password
    +
    in file tcpdf.php, method TCPDF::_fixAES256Password()
        Convert password for AES-256 encryption mode
    _freadint
    in file tcpdf.php, method TCPDF::_freadint()
        Read a 4-byte (32 bit) integer from file.
    _generateencryptionkey
    @@ -170,6 +172,8 @@
    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.
    +
    _OEvalue
    +
    in file tcpdf.php, method TCPDF::_OEvalue()
        Compute OE value (used for encryption)
    _out
    in file tcpdf.php, method TCPDF::_out()
        Output a string to the document.
    _outCurve
    @@ -245,7 +249,7 @@
    _putxobjects
    in file tcpdf.php, method TCPDF::_putxobjects()
        Output Form XObjects Templates.
    _RC4
    -
    in file tcpdf.php, method TCPDF::_RC4()
        Returns the input text exrypted using RC4 algorithm and the specified key.
    +
    in file tcpdf.php, method TCPDF::_RC4()
        Returns the input text encrypted using RC4 algorithm and the specified key.
    _setGDImageTransparency
    in file tcpdf.php, method TCPDF::_setGDImageTransparency()
        Set the transparency for the given GD image.
    _textstring
    @@ -254,6 +258,8 @@
    in file tcpdf.php, method TCPDF::_toJPEG()
        Convert the loaded image to a JPEG and then return a structure for the PDF creator.
    _toPNG
    in file tcpdf.php, method TCPDF::_toPNG()
        Convert the loaded image to a PNG and then return a structure for the PDF creator.
    +
    _UEvalue
    +
    in file tcpdf.php, method TCPDF::_UEvalue()
        Compute UE value (used for encryption)
    _Uvalue
    in file tcpdf.php, method TCPDF::_Uvalue()
        Compute U value (used for encryption)
    __construct
    @@ -771,13 +777,13 @@
    getBarcode
    in file tcpdf.php, method TCPDF::getBarcode()
        Get current barcode.
    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.
    getBarcodeArray
    -
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    -
    getBarcodeArray
    in file pdf417.php, method PDF417::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 qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    getBitStream
    in file qrcode.php, method QRcode::getBitStream()
        Returns a stream of bits.
    getBorderMode
    @@ -944,6 +950,8 @@
    in file tcpdf.php, method TCPDF::getPathPaintOperator()
        Get the Path-Painting Operators.
    getPDFData
    in file tcpdf.php, method TCPDF::getPDFData()
        Returns the PDF data.
    +
    getRandomSeed
    +
    in file tcpdf.php, method TCPDF::getRandomSeed()
        Returns a string containing random data to be used as a seed for encryption methods.
    getRawCharWidth
    in file tcpdf.php, method TCPDF::getRawCharWidth()
        Returns the length of the char in user unit for the current font.
    getRemainder
    @@ -2157,7 +2165,7 @@ top

    - Documentation generated on Mon, 18 Oct 2010 21:30:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:50 +0200 by phpDocumentor 1.4.3
    @@ -27687,7 +27781,7 @@ $n = 0])
    -

    method _puttruetypeunicode [line 9644]

    +

    method _puttruetypeunicode [line 9648]

    diff --git a/doc/elementindex.html b/doc/elementindex.html index d45ef82..a7f68ee 100644 --- a/doc/elementindex.html +++ b/doc/elementindex.html @@ -570,13 +570,13 @@
    getBarcode
    in file tcpdf.php, method TCPDF::getBarcode()
        Get current barcode.
    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.
    getBarcodeArray
    -
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    -
    getBarcodeArray
    in file pdf417.php, method PDF417::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 qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    getBitStream
    in file qrcode.php, method QRcode::getBitStream()
        Returns a stream of bits.
    getBorderMode
    @@ -743,6 +743,8 @@
    in file tcpdf.php, method TCPDF::getPathPaintOperator()
        Get the Path-Painting Operators.
    getPDFData
    in file tcpdf.php, method TCPDF::getPDFData()
        Returns the PDF data.
    +
    getRandomSeed
    +
    in file tcpdf.php, method TCPDF::getRandomSeed()
        Returns a string containing random data to be used as a seed for encryption methods.
    getRawCharWidth
    in file tcpdf.php, method TCPDF::getRawCharWidth()
        Returns the length of the char in user unit for the current font.
    getRemainder
    @@ -1985,6 +1987,8 @@
    in file tcpdf.php, method TCPDF::_escape()
        Add "\" before "\", "(" and ")"
    _escapetext
    in file tcpdf.php, method TCPDF::_escapetext()
        THIS METHOD IS DEPRECATED
    +
    _fixAES256Password
    +
    in file tcpdf.php, method TCPDF::_fixAES256Password()
        Convert password for AES-256 encryption mode
    _freadint
    in file tcpdf.php, method TCPDF::_freadint()
        Read a 4-byte (32 bit) integer from file.
    _generateencryptionkey
    @@ -2021,6 +2025,8 @@
    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.
    +
    _OEvalue
    +
    in file tcpdf.php, method TCPDF::_OEvalue()
        Compute OE value (used for encryption)
    _out
    in file tcpdf.php, method TCPDF::_out()
        Output a string to the document.
    _outCurve
    @@ -2096,7 +2102,7 @@
    _putxobjects
    in file tcpdf.php, method TCPDF::_putxobjects()
        Output Form XObjects Templates.
    _RC4
    -
    in file tcpdf.php, method TCPDF::_RC4()
        Returns the input text exrypted using RC4 algorithm and the specified key.
    +
    in file tcpdf.php, method TCPDF::_RC4()
        Returns the input text encrypted using RC4 algorithm and the specified key.
    _setGDImageTransparency
    in file tcpdf.php, method TCPDF::_setGDImageTransparency()
        Set the transparency for the given GD image.
    _textstring
    @@ -2105,6 +2111,8 @@
    in file tcpdf.php, method TCPDF::_toJPEG()
        Convert the loaded image to a JPEG and then return a structure for the PDF creator.
    _toPNG
    in file tcpdf.php, method TCPDF::_toPNG()
        Convert the loaded image to a PNG and then return a structure for the PDF creator.
    +
    _UEvalue
    +
    in file tcpdf.php, method TCPDF::_UEvalue()
        Compute UE value (used for encryption)
    _Uvalue
    in file tcpdf.php, method TCPDF::_Uvalue()
        Compute U value (used for encryption)
    __construct
    @@ -2124,7 +2132,7 @@ top

    - Documentation generated on Mon, 18 Oct 2010 21:30:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:50 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_unicode_data.php.html b/doc/com-tecnick-tcpdf/_unicode_data.php.html index 5a4e068..dbc7425 100644 --- a/doc/com-tecnick-tcpdf/_unicode_data.php.html +++ b/doc/com-tecnick-tcpdf/_unicode_data.php.html @@ -103,7 +103,7 @@ Unicode data class for TCPDF library.




    - Documentation generated on Mon, 18 Oct 2010 21:31:05 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:57 +0200 by phpDocumentor 1.4.3
    @@ -27729,7 +27823,7 @@ $font)
    -

    method _putviewerpreferences [line 10467]

    +

    method _putviewerpreferences [line 10471]

    diff --git a/doc/com-tecnick-tcpdf/_tcpdf.php.html b/doc/com-tecnick-tcpdf/_tcpdf.php.html index 9cb6654..f7fd910 100644 --- a/doc/com-tecnick-tcpdf/_tcpdf.php.html +++ b/doc/com-tecnick-tcpdf/_tcpdf.php.html @@ -75,7 +75,7 @@ Source Location: /tcpdf.php



    Page Details:

    -This is a PHP class for generating PDF documents without requiring external extensions.


    TCPDF project (http://www.tcpdf.org) was originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.
    <h3>TCPDF main features are:</h3>

    • no external libraries are required for the basic functions;
    • all standard page formats, custom page formats, custom margins and units of measure;
    • UTF-8 Unicode and Right-To-Left languages;
    • TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts;
    • font subsetting;
    • methods to publish some XHTML + CSS code, Javascript and Forms;
    • images, graphic (geometric figures) and transformation methods;
    • supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/www/formats.html)
    • 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, QR-Code, PDF417;
    • Grayscale, RGB, CMYK, Spot Colors and Transparencies;
    • automatic page header and footer management;
    • document encryption and digital signature certifications;
    • transactions to UNDO commands;
    • PDF annotations, including links, text and file attachments;
    • text rendering modes (fill, stroke and clipping);
    • multiple columns mode;
    • no-write page regions;
    • bookmarks and table of content;
    • text hyphenation;
    • text stretching and spacing (tracking/kerning);
    • automatic page break, line break and text alignments including justification;
    • automatic page numbering and page groups;
    • move and delete pages;
    • page compression (requires php-zlib extension);
    • XOBject Templates;
    Tools to encode your unicode fonts are on fonts/utils directory.</p>




    +This is a PHP class for generating PDF documents without requiring external extensions.


    TCPDF project (http://www.tcpdf.org) was originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.
    <h3>TCPDF main features are:</h3>

    • no external libraries are required for the basic functions;
    • all standard page formats, custom page formats, custom margins and units of measure;
    • UTF-8 Unicode and Right-To-Left languages;
    • TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts;
    • font subsetting;
    • methods to publish some XHTML + CSS code, Javascript and Forms;
    • images, graphic (geometric figures) and transformation methods;
    • supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/www/formats.html)
    • 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, QR-Code, PDF417;
    • Grayscale, RGB, CMYK, Spot Colors and Transparencies;
    • automatic page header and footer management;
    • document encryption up to 256 bit and digital signature certifications;
    • transactions to UNDO commands;
    • PDF annotations, including links, text and file attachments;
    • text rendering modes (fill, stroke and clipping);
    • multiple columns mode;
    • no-write page regions;
    • bookmarks and table of content;
    • text hyphenation;
    • text stretching and spacing (tracking/kerning);
    • automatic page break, line break and text alignments including justification;
    • automatic page numbering and page groups;
    • move and delete pages;
    • page compression (requires php-zlib extension);
    • XOBject Templates;
    Tools to encode your unicode fonts are on fonts/utils directory.</p>




    Tags:

    @@ -27763,7 +27857,7 @@ $font)
    -

    method _putxobjects [line 10160]

    +

    method _putxobjects [line 10164]

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

    - Documentation generated on Mon, 18 Oct 2010 21:30:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:51 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_pdf417.php.html b/doc/com-tecnick-tcpdf/_pdf417.php.html index b98dc40..6404679 100644 --- a/doc/com-tecnick-tcpdf/_pdf417.php.html +++ b/doc/com-tecnick-tcpdf/_pdf417.php.html @@ -158,7 +158,7 @@ Class to create PDF417 barcode arrays for TCPDF class.

    PDF417 (ISO


    - Documentation generated on Mon, 18 Oct 2010 21:30:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:51 +0200 by phpDocumentor 1.4.3
    @@ -27797,7 +27891,7 @@ $font)
    -

    method _RC4 [line 11567]

    +

    method _RC4 [line 11621]

    @@ -27808,7 +27902,7 @@ $text)

    - Returns the input text exrypted using RC4 algorithm and the specified key.

    RC4 is the standard encryption algorithm used in PDF format




    + Returns the input text encrypted using RC4 algorithm and the specified key.

    RC4 is the standard encryption algorithm used in PDF format




    Tags:

    @@ -27848,7 +27942,7 @@ $text)
    -

    method _setGDImageTransparency [line 7405]

    +

    method _setGDImageTransparency [line 7409]

    diff --git a/doc/com-tecnick-tcpdf/_htmlcolors.php.html b/doc/com-tecnick-tcpdf/_htmlcolors.php.html index 2d7d3f5..3e7788c 100644 --- a/doc/com-tecnick-tcpdf/_htmlcolors.php.html +++ b/doc/com-tecnick-tcpdf/_htmlcolors.php.html @@ -98,7 +98,7 @@ Array of WEB safe colors.




    - Documentation generated on Mon, 18 Oct 2010 21:30:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:51 +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 6ca15f0..191bc7b 100644 --- a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html +++ b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html @@ -543,7 +543,7 @@ Configuration file for TCPDF.




    - Documentation generated on Mon, 18 Oct 2010 21:31:05 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:57 +0200 by phpDocumentor 1.4.3
    @@ -27893,7 +27987,7 @@ $image)
    -

    method _textstring [line 10826]

    +

    method _textstring [line 10830]

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

    - Documentation generated on Mon, 18 Oct 2010 21:30:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:51 +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 7a942fe..aec35ec 100644 --- a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html +++ b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html @@ -106,7 +106,7 @@ PHP class to creates array representations for 2D barcodes to be used with TCPDF

    - Documentation generated on Mon, 18 Oct 2010 21:30:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:50 +0200 by phpDocumentor 1.4.3
    @@ -27938,7 +28032,7 @@ $n = 0])
    -

    method _toJPEG [line 7368]

    +

    method _toJPEG [line 7372]

    diff --git a/doc/com-tecnick-tcpdf/TCPDF_UNICODE_DATA.html b/doc/com-tecnick-tcpdf/TCPDF_UNICODE_DATA.html index fa455ff..90d0fd5 100644 --- a/doc/com-tecnick-tcpdf/TCPDF_UNICODE_DATA.html +++ b/doc/com-tecnick-tcpdf/TCPDF_UNICODE_DATA.html @@ -18704,7 +18704,7 @@ This is a PHP class containing Unicde data for TCPDF library



    - Documentation generated on Mon, 18 Oct 2010 21:31:05 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:57 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/TCPDFBarcode.html b/doc/com-tecnick-tcpdf/TCPDFBarcode.html index feb7bce..90dc9f0 100644 --- a/doc/com-tecnick-tcpdf/TCPDFBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDFBarcode.html @@ -1378,7 +1378,7 @@ $type)

    - Documentation generated on Mon, 18 Oct 2010 21:30:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:51 +0200 by phpDocumentor 1.4.3
    @@ -27980,7 +28074,7 @@ $file)
    -

    method _toPNG [line 7387]

    +

    method _toPNG [line 7391]

    diff --git a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html index 12fd814..e7896e6 100644 --- a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html @@ -300,7 +300,7 @@ $type)

    - Documentation generated on Mon, 18 Oct 2010 21:30:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:50 +0200 by phpDocumentor 1.4.3
    @@ -28024,12 +28118,46 @@ $file)
    [ Top ]

    - -

    method _Uvalue [line 11673]

    + +

    method _UEvalue [line 11729]

    - String _Uvalue( + string _UEvalue( +) +
    +

    + + Compute UE value (used for encryption)



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  UE value
    author:  Nicola Asuni
    since:  5.9.006 (2010-10-19)
    access:  protected
    +
    +

    + + +
    [ Top ]
    +
    +
    + +

    method _Uvalue [line 11696]

    +
    +
    +
    + string _Uvalue( )

    @@ -28062,7 +28190,7 @@ $file)

    - Documentation generated on Mon, 18 Oct 2010 21:31:00 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:52 +0200 by phpDocumentor 1.4.3
    @@ -83,7 +83,7 @@ This is a PHP class for generating PDF documents without requiring external exte - + @@ -112,7 +112,7 @@ main configuration file

    (define the K_TCPDF_EXTERNAL_CONFIG consta

    author:  Nicola Asuni
    version:  5.9.005version:  5.9.006
    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.9.005 (http://www.tcpdf.org)' + PDF_PRODUCER = 'TCPDF 5.9.006 (http://www.tcpdf.org)'
    @@ -123,7 +123,7 @@ main configuration file

    (define the K_TCPDF_EXTERNAL_CONFIG consta


    - Documentation generated on Mon, 18 Oct 2010 21:31:00 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:52 +0200 by phpDocumentor 1.4.3
    Post-parsing
    + +

    tcpdf.php

    +

    Warnings:


    +Warning on line 11406 - Unknown tag "@seed" used

    - Documentation generated on Mon, 18 Oct 2010 21:31:05 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 19 Oct 2010 17:45:57 +0200 by phpDocumentor 1.4.3