diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index c27d3ed..d8b7004 100755 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,3 +1,9 @@ +5.1.000 (2010-05-25) + - This version includes support for CSS (Cascading Style Sheets) (see example n. 61). + - The convertHTMLColorToDec() method was improved. + +------------------------------------------------------------ + 5.0.014 (2010-05-21) - A problem on color and style of HTML links was fixed. - A bug relative to gradients was fixed. @@ -71,7 +77,7 @@ - The Output() method now accepts FI and FD destinations to save the document on server before sending it to the client. - Ellipse() method was improved and fixed (see page 2 of example n. 12). --------------------------------------------------------------------------------- +------------------------------------------------------------ 4.9.018 (2010-04-21) - Bug item #2990356 "Current font size not respected with more than two HTML

" was fixed. @@ -165,7 +171,7 @@ - Bug item #2974929 "Duplicate case values" was fixed. - Bug item #2976729 "File attachment not working with security" was fixed. --------------------------------------------------------------------------------- +------------------------------------------------------------ 4.8.039 (2010-03-20) - Problems related to custom locale settings were fixed. @@ -336,7 +342,7 @@ - Signature of Image() method was changed. - htmlcolors.php file was updated. --------------------------------------------------------------------------------- +------------------------------------------------------------ 4.7.003 (2009-09-03) - Support for TCPDF methods on HTML was improved (see example n. 49). @@ -1429,4 +1435,4 @@ - Bitstream Vera Fonts were added (http://www.bitstream.com/font_rendering/products/dev_fonts/vera.html). - Now the AddFont and SetFont functions returns the basic font if the styled version do not exist. -EOF ---------------------------------------------------------------------------- +EOF -------------------------------------------------------- diff --git a/README.TXT b/README.TXT index 53d6053..c7ce4f9 100755 --- a/README.TXT +++ b/README.TXT @@ -8,8 +8,8 @@ http://sourceforge.net/donate/index.php?group_id=128076 ------------------------------------------------------------ Name: TCPDF -Version: 5.0.014 -Release date: 2010-05-21 +Version: 5.1.000 +Release date: 2010-05-25 Author: Nicola Asuni Copyright (c) 2001-2010: @@ -33,7 +33,7 @@ Main Features: // * all ISO 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; -// * methods to publish some XHTML code, Javascript and Forms; +// * 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; diff --git a/doc/classtrees_com-tecnick-tcpdf.html b/doc/classtrees_com-tecnick-tcpdf.html index d65452d..f8bbacb 100644 --- a/doc/classtrees_com-tecnick-tcpdf.html +++ b/doc/classtrees_com-tecnick-tcpdf.html @@ -55,7 +55,7 @@


- Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/QRcode.html b/doc/com-tecnick-tcpdf/QRcode.html index c115e4e..9c8bd9b 100644 --- a/doc/com-tecnick-tcpdf/QRcode.html +++ b/doc/com-tecnick-tcpdf/QRcode.html @@ -5548,7 +5548,7 @@ $frame)

- Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/TCPDF.html b/doc/com-tecnick-tcpdf/TCPDF.html index e2f7135..bd9eb5b 100644 --- a/doc/com-tecnick-tcpdf/TCPDF.html +++ b/doc/com-tecnick-tcpdf/TCPDF.html @@ -80,7 +80,7 @@ Source Location: /tcpdf.php

Version:

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

  • endSVGElementHandler
  • endTOCPage
  • Error
  • +
  • extractCSSproperties
  • Footer
  • formatPageNumber
  • formatTOCPageNumber
  • @@ -427,6 +428,7 @@ Source Location: /tcpdf.php

  • getStringHeight
  • GetStringWidth
  • getSVGTransformMatrix
  • +
  • getTagStyleFromCSS
  • getTransformationMatrixProduct
  • getUserPermissionCode
  • getVectorsAngle
  • @@ -444,6 +446,7 @@ Source Location: /tcpdf.php

  • IncludeJS
  • intToRoman
  • isRTLTextDir
  • +
  • isValidCSSSelectorForTag
  • lastPage
  • Line
  • LinearGradient
  • @@ -714,7 +717,7 @@ This is a PHP class for generating PDF documents without requiring external exte author:  Nicola Asuni - info@tecnick.com - version:  5.0.014 + version:  5.1.000 link:  http://www.tcpdf.org @@ -6910,7 +6913,7 @@ $diskcache = false])
    -

    method addExtGState [line 12895]

    +

    method addExtGState [line 12905]

    @@ -7090,7 +7093,7 @@ $firstblock = false])
    -

    method addHTMLTOC [line 18493]

    +

    method addHTMLTOC [line 18829]

    @@ -7153,7 +7156,7 @@ $correct_align = true])
    -

    method addHTMLVertSpace [line 17245]

    +

    method addHTMLVertSpace [line 17581]

    @@ -7207,7 +7210,7 @@ $firstorlast = false])
    -

    method addJavascriptObject [line 11523]

    +

    method addJavascriptObject [line 11533]

    @@ -7415,7 +7418,7 @@ $k)
    -

    method addTOC [line 18343]

    +

    method addTOC [line 18679]

    @@ -7532,7 +7535,7 @@ $keepmargins = false])
    -

    method AliasNbPages [line 12707]

    +

    method AliasNbPages [line 12717]

    @@ -7574,7 +7577,7 @@ $alias = '{nb}'])
    -

    method AliasNumPage [line 12734]

    +

    method AliasNumPage [line 12744]

    @@ -7691,7 +7694,7 @@ $spaces = 0])
    -

    method Arrow [line 10736]

    +

    method Arrow [line 10746]

    @@ -7844,7 +7847,7 @@ $setbom = true])
    -

    method Bookmark [line 11401]

    +

    method Bookmark [line 11411]

    @@ -7904,7 +7907,7 @@ $page = ''])
    -

    method Button [line 12410]

    +

    method Button [line 12420]

    @@ -8108,7 +8111,7 @@ $valign = 'M'])
    -

    method CheckBox [line 12340]

    +

    method CheckBox [line 12350]

    @@ -8252,7 +8255,7 @@ $addpage = true])
    -

    method Circle [line 10424]

    +

    method Circle [line 10434]

    @@ -8351,7 +8354,7 @@ $angend:)
    -

    method Clip [line 13356]

    +

    method Clip [line 13366]

    @@ -8442,7 +8445,7 @@ $h)
    -

    method closeHTMLTagHandler [line 16855]

    +

    method closeHTMLTagHandler [line 17191]

    @@ -8502,7 +8505,7 @@ $dom)
    -

    method colorRegistrationBar [line 13031]

    +

    method colorRegistrationBar [line 13041]

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

    method ComboBox [line 12279]

    +

    method ComboBox [line 12289]

    @@ -8670,7 +8673,7 @@ $js = false])
    -

    method commitTransaction [line 18605]

    +

    method commitTransaction [line 18941]

    @@ -8698,7 +8701,7 @@ $js = false])
    -

    method convertHexStringToString [line 9594]

    +

    method convertHexStringToString [line 9604]

    @@ -8779,7 +8782,7 @@ $color = '#FFFFFF'])
    -

    method convertStringToHexString [line 9615]

    +

    method convertStringToHexString [line 9625]

    @@ -8824,7 +8827,7 @@ $s)
    -

    method convertSVGtMatrix [line 19540]

    +

    method convertSVGtMatrix [line 19876]

    @@ -8866,7 +8869,7 @@ $tm)
    -

    method CoonsPatchMesh [line 13271]

    +

    method CoonsPatchMesh [line 13281]

    @@ -8974,7 +8977,7 @@ $antialias = false])
    -

    method copyPage [line 18275]

    +

    method copyPage [line 18611]

    @@ -9016,7 +9019,7 @@ $page = 0])
    -

    method cropMark [line 13129]

    +

    method cropMark [line 13139]

    @@ -9088,7 +9091,7 @@ $color = array(0,0,0)])
    -

    method Curve [line 10229]

    +

    method Curve [line 10239]

    @@ -9190,7 +9193,7 @@ $fill_color = array()])
    -

    method deletePage [line 18138]

    +

    method deletePage [line 18474]

    @@ -9232,7 +9235,7 @@ $page)
    -

    method Ellipse [line 10293]

    +

    method Ellipse [line 10303]

    @@ -9352,7 +9355,7 @@ $afinish:)
    -

    method empty_string [line 18659]

    +

    method empty_string [line 18995]

    @@ -9436,7 +9439,7 @@ $tocpage = false])
    -

    method endSVGElementHandler [line 20567]

    +

    method endSVGElementHandler [line 20903]

    @@ -9552,6 +9555,51 @@ $msg)
    [ Top ]
    +
    + +

    method extractCSSproperties [line 14526]

    +
    +
    +
    + An extractCSSproperties( +string +$cssdata) +
    +

    + + Extracts the CSS properties from a CSS string.



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  array where the keys are the CSS selectors and the values are the CSS properties.
    author:  Nicola Asuni
    since:  5.1.000 (2010-05-25)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $cssdata  string containing CSS definitions.
    +

    +
    [ Top ]
    +

    method Footer [line 3115]

    @@ -9579,7 +9627,7 @@ $msg)
    -

    method formatPageNumber [line 12811]

    +

    method formatPageNumber [line 12821]

    @@ -9618,7 +9666,7 @@ $num)
    -

    method formatTOCPageNumber [line 12823]

    +

    method formatTOCPageNumber [line 12833]

    @@ -9691,7 +9739,7 @@ $num)
    -

    method getAliasNbPages [line 12719]

    +

    method getAliasNbPages [line 12729]

    @@ -9722,7 +9770,7 @@ $num)
    -

    method getAliasNumPage [line 12747]

    +

    method getAliasNumPage [line 12757]

    @@ -9753,7 +9801,7 @@ $num)
    -

    method getAnnotOptFromJSProp [line 11647]

    +

    method getAnnotOptFromJSProp [line 11657]

    @@ -9867,7 +9915,7 @@ $getarray = false])
    -

    method getBarcode [line 14010]

    +

    method getBarcode [line 14020]

    @@ -9991,7 +10039,7 @@ $pagenum = ''])
    -

    method getBuffer [line 17824]

    +

    method getBuffer [line 18160]

    @@ -10130,7 +10178,7 @@ $valign = 'M'])
    -

    method getCellHeightRatio [line 12991]

    +

    method getCellHeightRatio [line 13001]

    @@ -10203,7 +10251,7 @@ $char)
    -

    method getEncPermissionsString [line 9632]

    +

    method getEncPermissionsString [line 9642]

    @@ -10299,7 +10347,7 @@ $size = 0])
    -

    method getFontBuffer [line 17984]

    +

    method getFontBuffer [line 18320]

    @@ -10395,7 +10443,7 @@ $size = 0])
    -

    method getFontFamily [line 14494]

    +

    method getFontFamily [line 14504]

    @@ -10426,7 +10474,7 @@ $size = 0])
    -

    method getFontSize [line 14474]

    +

    method getFontSize [line 14484]

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

    method getFontSizePt [line 14484]

    +

    method getFontSizePt [line 14494]

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

    method getFontStyle [line 14504]

    +

    method getFontStyle [line 14514]

    @@ -10603,7 +10651,7 @@ $size = 0])
    -

    method getFormDefaultProp [line 12022]

    +

    method getFormDefaultProp [line 12032]

    @@ -10676,7 +10724,7 @@ $v)
    -

    method getGraphicVars [line 17676]

    +

    method getGraphicVars [line 18012]

    @@ -10707,7 +10755,7 @@ $v)
    -

    method getGroupPageNo [line 12760]

    +

    method getGroupPageNo [line 12770]

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

    method getGroupPageNoFormatted [line 12770]

    +

    method getGroupPageNoFormatted [line 12780]

    @@ -10853,7 +10901,7 @@ $v)
    -

    method getHtmlDomArray [line 14540]

    +

    method getHtmlDomArray [line 14802]

    @@ -10892,7 +10940,7 @@ $html)
    -

    method getHTMLUnitToUnits [line 17391]

    +

    method getHTMLUnitToUnits [line 17727]

    @@ -10958,7 +11006,7 @@ $point)
    -

    method getHyphenPatternsFromTEX [line 18931]

    +

    method getHyphenPatternsFromTEX [line 19267]

    @@ -11003,7 +11051,7 @@ $file)
    -

    method getImageBuffer [line 17926]

    +

    method getImageBuffer [line 18262]

    @@ -11208,7 +11256,7 @@ $iminfo = array()])
    -

    method GetLineWidth [line 9975]

    +

    method GetLineWidth [line 9985]

    @@ -11242,7 +11290,7 @@ $iminfo = array()])
    -

    method getMargins [line 14437]

    +

    method getMargins [line 14447]

    @@ -11424,7 +11472,7 @@ $lineWidth = ''])
    -

    method getObjFilename [line 17756]

    +

    method getObjFilename [line 18092]

    @@ -11469,7 +11517,7 @@ $prefix)
    -

    method getOriginalMargins [line 14460]

    +

    method getOriginalMargins [line 14470]

    @@ -11534,7 +11582,7 @@ $prefix)
    -

    method getPageBuffer [line 17867]

    +

    method getPageBuffer [line 18203]

    @@ -11621,7 +11669,7 @@ $pagenum = ''])
    -

    method getPageGroupAlias [line 12782]

    +

    method getPageGroupAlias [line 12792]

    @@ -11700,7 +11748,7 @@ $pagenum = ''])
    -

    method getPageNumGroupAlias [line 12797]

    +

    method getPageNumGroupAlias [line 12807]

    @@ -11821,7 +11869,7 @@ $pagenum = ''])
    -

    method getPathPaintOperator [line 19043]

    +

    method getPathPaintOperator [line 19379]

    @@ -11990,7 +12038,7 @@ $mode)
    -

    method getSpaceString [line 15092]

    +

    method getSpaceString [line 15404]

    @@ -12193,7 +12241,7 @@ $getarray = false])
    -

    method getSVGTransformMatrix [line 19418]

    +

    method getSVGTransformMatrix [line 19754]

    @@ -12236,9 +12284,63 @@ $attribute)
    [ Top ]
    +
    + +

    method getTagStyleFromCSS [line 14773]

    +
    +
    +
    + string getTagStyleFromCSS( +array +$dom, int +$key, array +$css) +
    +

    + + Returns the styles that apply for the selected HTML tag.



    +

    Tags:

    +
    + + + + + + + + + + +
    return:  containing CSS properties
    since:  5.1.000 (2010-05-25)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + + + + + + + + + + + +
    array  $dom  array of HTML tags and properties
    int  $key  key of the current HTML tag
    array  $css  array of CSS properties
    +

    +
    [ Top ]
    +

    -

    method getTransformationMatrixProduct [line 19522]

    +

    method getTransformationMatrixProduct [line 19858]

    @@ -12289,7 +12391,7 @@ $tb)
    -

    method getUserPermissionCode [line 9473]

    +

    method getUserPermissionCode [line 9483]

    @@ -12337,7 +12439,7 @@ $mode = 0])
    -

    method getVectorsAngle [line 20153]

    +

    method getVectorsAngle [line 20489]

    @@ -12490,7 +12592,7 @@ $y2)
    -

    method Gradient [line 13380]

    +

    method Gradient [line 13390]

    @@ -12581,7 +12683,7 @@ $antialias = false])
    -

    method hyphenateText [line 18970]

    +

    method hyphenateText [line 19306]

    @@ -12662,7 +12764,7 @@ $charmax = 8])
    -

    method hyphenateWord [line 18861]

    +

    method hyphenateWord [line 19197]

    @@ -12881,7 +12983,7 @@ $fitonpage = false])
    -

    method ImageEps [line 13724]

    +

    method ImageEps [line 13734]

    @@ -13088,7 +13190,7 @@ $palign = ''])
    -

    method ImageSVG [line 19134]

    +

    method ImageSVG [line 19470]

    @@ -13184,7 +13286,7 @@ $fitonpage = false])
    -

    method IncludeJS [line 11510]

    +

    method IncludeJS [line 11520]

    @@ -13226,7 +13328,7 @@ $script)
    -

    method intToRoman [line 17470]

    +

    method intToRoman [line 17806]

    @@ -13294,6 +13396,60 @@ $number)
    [ Top ]
    +
    + +

    method isValidCSSSelectorForTag [line 14614]

    +
    +
    +
    + true isValidCSSSelectorForTag( +array +$dom, int +$key, string +$selector) +
    +

    + + Returns true if the CSS selector is valid for the selected HTML tag



    +

    Tags:

    +
    + + + + + + + + + + +
    return:  if the selector is valid, false otherwise
    since:  5.1.000 (2010-05-25)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + + + + + + + + + + + +
    array  $dom  array of HTML tags and properties
    int  $key  key of the current HTML tag
    string  $selector  CSS selector string
    +

    +
    [ Top ]
    +

    method lastPage [line 2788]

    @@ -13338,7 +13494,7 @@ $resetmargins = false])
    -

    method Line [line 10145]

    +

    method Line [line 10155]

    @@ -13404,7 +13560,7 @@ $style = array()])
    -

    method LinearGradient [line 13230]

    +

    method LinearGradient [line 13240]

    @@ -13554,7 +13710,7 @@ $spaces = 0])
    -

    method ListBox [line 12219]

    +

    method ListBox [line 12229]

    @@ -13692,7 +13848,7 @@ $cell = false])
    -

    method MirrorH [line 9757]

    +

    method MirrorH [line 9767]

    @@ -13734,7 +13890,7 @@ $x = ''])
    -

    method MirrorL [line 9793]

    +

    method MirrorL [line 9803]

    @@ -13788,7 +13944,7 @@ $y = ''])
    -

    method MirrorP [line 9780]

    +

    method MirrorP [line 9790]

    @@ -13836,7 +13992,7 @@ $y = ''])
    -

    method MirrorV [line 9768]

    +

    method MirrorV [line 9778]

    @@ -13878,7 +14034,7 @@ $y = ''])
    -

    method movePage [line 18001]

    +

    method movePage [line 18337]

    @@ -14052,7 +14208,7 @@ $maxh = 0])
    -

    method objclone [line 18648]

    +

    method objclone [line 18984]

    @@ -14125,7 +14281,7 @@ $object)
    -

    method openHTMLTagHandler [line 16270]

    +

    method openHTMLTagHandler [line 16606]

    @@ -14261,7 +14417,7 @@ $dest = 'I'])
    -

    method PageNoFormatted [line 12833]

    +

    method PageNoFormatted [line 12843]

    @@ -14292,7 +14448,7 @@ $dest = 'I'])
    -

    method PieSector [line 13663]

    +

    method PieSector [line 13673]

    @@ -14388,7 +14544,7 @@ $o:)
    -

    method PieSectorXY [line 13684]

    +

    method PieSectorXY [line 13694]

    @@ -14496,7 +14652,7 @@ $o:)
    -

    method pixelsToUnits [line 9072]

    +

    method pixelsToUnits [line 9082]

    @@ -14538,7 +14694,7 @@ $px)
    -

    method Polycurve [line 10256]

    +

    method Polycurve [line 10266]

    @@ -14610,7 +14766,7 @@ $fill_color = array()])
    -

    method Polygon [line 10462]

    +

    method Polygon [line 10472]

    @@ -14673,7 +14829,7 @@ $closed = true])
    -

    method PolyLine [line 10443]

    +

    method PolyLine [line 10453]

    @@ -14736,7 +14892,7 @@ $closed)
    -

    method putHtmlListBullet [line 17535]

    +

    method putHtmlListBullet [line 17871]

    @@ -14787,7 +14943,7 @@ $size = 10])
    -

    method RadialGradient [line 13248]

    +

    method RadialGradient [line 13258]

    @@ -14865,7 +15021,7 @@ $coords = array(0.5,0.5,0.5,0.5,1)])
    -

    method RadioButton [line 12131]

    +

    method RadioButton [line 12141]

    @@ -14955,7 +15111,7 @@ $js = false])
    -

    method readDiskCache [line 17796]

    +

    method readDiskCache [line 18132]

    @@ -15003,7 +15159,7 @@ $file)
    -

    method Rect [line 10173]

    +

    method Rect [line 10183]

    @@ -15081,7 +15237,7 @@ $fill_color = array()])
    -

    method registrationMark [line 13199]

    +

    method registrationMark [line 13209]

    @@ -15153,7 +15309,7 @@ $colb = array(255,255,255)])
    -

    method RegularPolygon [line 10560]

    +

    method RegularPolygon [line 10570]

    @@ -15306,7 +15462,7 @@ $txt = ''])
    -

    method revstrpos [line 18672]

    +

    method revstrpos [line 19008]

    @@ -15411,7 +15567,7 @@ $length)
    -

    method rollbackTransaction [line 18619]

    +

    method rollbackTransaction [line 18955]

    @@ -15453,7 +15609,7 @@ $self = false])
    -

    method Rotate [line 9849]

    +

    method Rotate [line 9859]

    @@ -15507,7 +15663,7 @@ $y = ''])
    -

    method RoundedRect [line 10650]

    +

    method RoundedRect [line 10660]

    @@ -15594,7 +15750,7 @@ $fill_color = array()])
    -

    method RoundedRectXY [line 10669]

    +

    method RoundedRectXY [line 10679]

    @@ -15687,7 +15843,7 @@ $fill_color = array()])
    -

    method Scale [line 9725]

    +

    method Scale [line 9735]

    @@ -15747,7 +15903,7 @@ $y = ''])
    -

    method ScaleX [line 9685]

    +

    method ScaleX [line 9695]

    @@ -15801,7 +15957,7 @@ $y = ''])
    -

    method ScaleXY [line 9711]

    +

    method ScaleXY [line 9721]

    @@ -15855,7 +16011,7 @@ $y = ''])
    -

    method ScaleY [line 9698]

    +

    method ScaleY [line 9708]

    @@ -15909,7 +16065,7 @@ $y = ''])
    -

    method segSVGContentHandler [line 20605]

    +

    method segSVGContentHandler [line 20941]

    @@ -15957,7 +16113,7 @@ $data)
    -

    method selectColumn [line 18735]

    +

    method selectColumn [line 19071]

    @@ -15996,7 +16152,7 @@ $col = ''])
    -

    method serializeTCPDFtagParameters [line 18786]

    +

    method serializeTCPDFtagParameters [line 19122]

    @@ -16038,7 +16194,7 @@ $pararray)
    -

    method setAlpha [line 12948]

    +

    method setAlpha [line 12958]

    @@ -16173,7 +16329,7 @@ $margin = 0])
    -

    method setBarcode [line 14000]

    +

    method setBarcode [line 14010]

    @@ -16209,7 +16365,7 @@ $bc = ''])
    -

    method SetBooklet [line 17305]

    +

    method SetBooklet [line 17641]

    @@ -16260,7 +16416,7 @@ $outer = -1])
    -

    method setBuffer [line 17806]

    +

    method setBuffer [line 18142]

    @@ -16299,7 +16455,7 @@ $data)
    -

    method setCellHeightRatio [line 12982]

    +

    method setCellHeightRatio [line 12992]

    @@ -16380,7 +16536,7 @@ $pad)
    -

    method setColumnsArray [line 18722]

    +

    method setColumnsArray [line 19058]

    @@ -16578,7 +16734,7 @@ $font)
    -

    method setDefaultTableColumns [line 12972]

    +

    method setDefaultTableColumns [line 12982]

    @@ -16818,7 +16974,7 @@ $tint = 100])
    -

    method setEqualColumns [line 18689]

    +

    method setEqualColumns [line 19025]

    @@ -16869,7 +17025,7 @@ $y = ''])
    -

    method setExtGState [line 12914]

    +

    method setExtGState [line 12924]

    @@ -17118,7 +17274,7 @@ $fontfile = ''])
    -

    method setFontBuffer [line 17942]

    +

    method setFontBuffer [line 18278]

    @@ -17205,7 +17361,7 @@ $size)
    -

    method setFontSubBuffer [line 17964]

    +

    method setFontSubBuffer [line 18300]

    @@ -17359,7 +17515,7 @@ $fm = 10])
    -

    method setFormDefaultProp [line 12011]

    +

    method setFormDefaultProp [line 12021]

    @@ -17401,7 +17557,7 @@ $prop = array()])
    -

    method setGraphicVars [line 17715]

    +

    method setGraphicVars [line 18051]

    @@ -17597,7 +17753,7 @@ $hm = 10])
    -

    method setHtmlLinksStyle [line 17376]

    +

    method setHtmlLinksStyle [line 17712]

    @@ -17642,7 +17798,7 @@ $fontstyle = 'U'])
    -

    method setHtmlVSpace [line 17345]

    +

    method setHtmlVSpace [line 17681]

    @@ -17681,7 +17837,7 @@ $tagvs)
    -

    method setImageBuffer [line 17883]

    +

    method setImageBuffer [line 18219]

    @@ -17768,7 +17924,7 @@ $scale)
    -

    method setImageSubBuffer [line 17906]

    +

    method setImageSubBuffer [line 18242]

    @@ -17819,7 +17975,7 @@ $data)
    -

    method setJPEGQuality [line 12959]

    +

    method setJPEGQuality [line 12969]

    @@ -18023,7 +18179,7 @@ $margin)
    -

    method SetLineStyle [line 10000]

    +

    method SetLineStyle [line 10010]

    @@ -18069,7 +18225,7 @@ $style)
    -

    method SetLineWidth [line 9959]

    +

    method SetLineWidth [line 9969]

    @@ -18165,7 +18321,7 @@ $page = -1])
    -

    method setListIndentWidth [line 17355]

    +

    method setListIndentWidth [line 17691]

    @@ -18204,7 +18360,7 @@ $width)
    -

    method setLIsymbol [line 17266]

    +

    method setLIsymbol [line 17602]

    @@ -18303,7 +18459,7 @@ $keepmargins = false])
    -

    method setOpenCell [line 17365]

    +

    method setOpenCell [line 17701]

    @@ -18459,7 +18615,7 @@ $ury)
    -

    method setPageBuffer [line 17840]

    +

    method setPageBuffer [line 18176]

    @@ -18673,7 +18829,7 @@ $unit)
    -

    method setPDFVersion [line 13001]

    +

    method setPDFVersion [line 13011]

    @@ -18790,7 +18946,7 @@ $val = true])
    -

    method SetProtection [line 9517]

    +

    method SetProtection [line 9527]

    @@ -18856,7 +19012,7 @@ $pubkeys = null])
    -

    method setRasterizeVectorImages [line 19017]

    +

    method setRasterizeVectorImages [line 19353]

    @@ -18982,7 +19138,7 @@ $resetx = true])
    -

    method setSignature [line 12663]

    +

    method setSignature [line 12673]

    @@ -19135,7 +19291,7 @@ $subject)
    -

    method setSVGStyles [line 19579]

    +

    method setSVGStyles [line 19915]

    @@ -19388,7 +19544,7 @@ $color)
    -

    method setTextRenderingMode [line 18798]

    +

    method setTextRenderingMode [line 19134]

    @@ -19571,7 +19727,7 @@ $margin)
    -

    method setUserRights [line 12630]

    +

    method setUserRights [line 12640]

    @@ -19637,7 +19793,7 @@ $signature = '/Modify'])
    -

    method setViewerPreferences [line 13014]

    +

    method setViewerPreferences [line 13024]

    @@ -19679,7 +19835,7 @@ $preferences)
    -

    method setVisibility [line 12859]

    +

    method setVisibility [line 12869]

    @@ -19913,7 +20069,7 @@ $mqr)
    -

    method Skew [line 9905]

    +

    method Skew [line 9915]

    @@ -19973,7 +20129,7 @@ $y = ''])
    -

    method SkewX [line 9878]

    +

    method SkewX [line 9888]

    @@ -20027,7 +20183,7 @@ $y = ''])
    -

    method SkewY [line 9891]

    +

    method SkewY [line 9901]

    @@ -20081,7 +20237,7 @@ $y = ''])
    -

    method StarPolygon [line 10608]

    +

    method StarPolygon [line 10618]

    @@ -20259,7 +20415,7 @@ $tocpage = false])
    -

    method startPageGroup [line 12692]

    +

    method startPageGroup [line 12702]

    @@ -20298,7 +20454,7 @@ $page = ''])
    -

    method startSVGElementHandler [line 20176]

    +

    method startSVGElementHandler [line 20512]

    @@ -20352,7 +20508,7 @@ $attribs)
    -

    method startTransaction [line 18588]

    +

    method startTransaction [line 18924]

    @@ -20380,7 +20536,7 @@ $attribs)
    -

    method StartTransform [line 9653]

    +

    method StartTransform [line 9663]

    @@ -20411,7 +20567,7 @@ $attribs)
    -

    method StopTransform [line 9668]

    +

    method StopTransform [line 9678]

    @@ -20442,7 +20598,7 @@ $attribs)
    -

    method SVGPath [line 19835]

    +

    method SVGPath [line 20171]

    @@ -20493,7 +20649,7 @@ $style = ''])
    -

    method SVGTransform [line 19560]

    +

    method SVGTransform [line 19896]

    @@ -20532,7 +20688,7 @@ $tm)
    -

    method swapMargins [line 17321]

    +

    method swapMargins [line 17657]

    @@ -20742,7 +20898,7 @@ $rtloff = false])
    -

    method TextField [line 12040]

    +

    method TextField [line 12050]

    @@ -20826,7 +20982,7 @@ $js = false])
    -

    method Transform [line 9935]

    +

    method Transform [line 9945]

    @@ -20868,7 +21024,7 @@ $tm)
    -

    method Translate [line 9828]

    +

    method Translate [line 9838]

    @@ -20916,7 +21072,7 @@ $t_y)
    -

    method TranslateX [line 9805]

    +

    method TranslateX [line 9815]

    @@ -20958,7 +21114,7 @@ $t_x)
    -

    method TranslateY [line 9816]

    +

    method TranslateY [line 9826]

    @@ -21000,7 +21156,7 @@ $t_y)
    -

    method unhtmlentities [line 9083]

    +

    method unhtmlentities [line 9093]

    @@ -21273,7 +21429,7 @@ $unicode)
    -

    method utf8Bidi [line 10830]

    +

    method utf8Bidi [line 10840]

    @@ -21330,7 +21486,7 @@ $forcertl = false])
    -

    method utf8StrArrRev [line 10816]

    +

    method utf8StrArrRev [line 10826]

    @@ -21456,7 +21612,7 @@ $str)
    -

    method utf8StrRev [line 10801]

    +

    method utf8StrRev [line 10811]

    @@ -21699,7 +21855,7 @@ $maxh = 0])
    -

    method write1DBarcode [line 14029]

    +

    method write1DBarcode [line 14039]

    @@ -21789,7 +21945,7 @@ $align = ''])
    -

    method write2DBarcode [line 14271]

    +

    method write2DBarcode [line 14281]

    @@ -21873,7 +22029,7 @@ $align = ''])
    -

    method writeBarcode [line 14221]

    +

    method writeBarcode [line 14231]

    @@ -21963,7 +22119,7 @@ $code)
    -

    method writeDiskCache [line 17768]

    +

    method writeDiskCache [line 18104]

    @@ -22020,7 +22176,7 @@ $file)
    -

    method writeHTML [line 15112]

    +

    method writeHTML [line 15448]

    @@ -22086,7 +22242,7 @@ $align = ''])
    -

    method writeHTMLCell [line 14528]

    +

    method writeHTMLCell [line 15432]

    @@ -22188,7 +22344,7 @@ $autopadding = true])
    -

    method _addfield [line 11612]

    +

    method _addfield [line 11622]

    @@ -22266,7 +22422,7 @@ $prop)
    -

    method _AES [line 9305]

    +

    method _AES [line 9315]

    @@ -22844,7 +23000,7 @@ $w)
    -

    method _encrypt_data [line 9116]

    +

    method _encrypt_data [line 9126]

    @@ -23059,7 +23215,7 @@ $f)
    -

    method _generateencryptionkey [line 9392]

    +

    method _generateencryptionkey [line 9402]

    @@ -23222,7 +23378,7 @@ $n = 0])
    -

    method _JScolor [line 11588]

    +

    method _JScolor [line 11598]

    @@ -23264,7 +23420,7 @@ $color)
    -

    method _md5_16 [line 9323]

    +

    method _md5_16 [line 9333]

    @@ -23337,7 +23493,7 @@ $str)
    -

    method _objectkey [line 9097]

    +

    method _objectkey [line 9107]

    @@ -23415,7 +23571,7 @@ $s)
    -

    method _outCurve [line 10100]

    +

    method _outCurve [line 10110]

    @@ -23484,7 +23640,7 @@ $y3)
    -

    method _outCurveV [line 10114]

    +

    method _outCurveV [line 10124]

    @@ -23541,7 +23697,7 @@ $y3)
    -

    method _outCurveY [line 10130]

    +

    method _outCurveY [line 10140]

    @@ -23610,7 +23766,7 @@ $y2)
    -

    method _outellipticalarc [line 10327]

    +

    method _outellipticalarc [line 10337]

    @@ -23718,7 +23874,7 @@ $angf:)
    -

    method _outLine [line 10070]

    +

    method _outLine [line 10080]

    @@ -23763,7 +23919,7 @@ $y)
    -

    method _outPoint [line 10058]

    +

    method _outPoint [line 10068]

    @@ -23808,7 +23964,7 @@ $y)
    -

    method _outRect [line 10084]

    +

    method _outRect [line 10094]

    @@ -23871,7 +24027,7 @@ $op)
    -

    method _Ovalue [line 9336]

    +

    method _Ovalue [line 9346]

    @@ -24130,7 +24286,7 @@ $stream = ''])
    -

    method _putbookmarks [line 11429]

    +

    method _putbookmarks [line 11439]

    diff --git a/examples/index.php b/examples/index.php index d587459..df95e14 100644 --- a/examples/index.php +++ b/examples/index.php @@ -79,6 +79,7 @@ echo '<'.'?'.'xml version="1.0" encoding="UTF-8"'.'?'.'>';
  • SVG Image: [PDF]
  • Table Of Content with HTML templates: [PDF]
  • Advanced page settings: [PDF]
  • +
  • XHTML + CSS: [PDF]
  • diff --git a/tcpdf.php b/tcpdf.php index 90b5b14..66abd67 100755 --- a/tcpdf.php +++ b/tcpdf.php @@ -2,9 +2,9 @@ //============================================================+ // File name : tcpdf.php // Begin : 2002-08-03 -// Last Update : 2010-05-21 +// Last Update : 2010-05-25 // Author : Nicola Asuni - info@tecnick.com - http://www.tcpdf.org -// Version : 5.0.014 +// Version : 5.1.000 // License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html) // ---------------------------------------------------------------------------- // Copyright (C) 2002-2010 Nicola Asuni - Tecnick.com S.r.l. @@ -38,7 +38,7 @@ // * all ISO 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; -// * methods to publish some XHTML code, Javascript and Forms; +// * 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; @@ -97,7 +97,7 @@ *
  • all ISO 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;
  • - *
  • methods to publish some XHTML code, Javascript and Forms;
  • + *
  • 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;
  • @@ -122,7 +122,7 @@ * @copyright 2002-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com * @link http://www.tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL - * @version 5.0.014 + * @version 5.1.000 */ /** @@ -146,14 +146,14 @@ if (!class_exists('TCPDF', false)) { /** * define default PDF document producer */ - define('PDF_PRODUCER', 'TCPDF 5.0.014 (http://www.tcpdf.org)'); + define('PDF_PRODUCER', 'TCPDF 5.1.000 (http://www.tcpdf.org)'); /** * This is a PHP class for generating PDF documents without requiring external extensions.
    * TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.
    * @name TCPDF * @package com.tecnick.tcpdf - * @version 5.0.014 + * @version 5.1.000 * @author Nicola Asuni - info@tecnick.com * @link http://www.tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL @@ -9024,12 +9024,21 @@ if (!class_exists('TCPDF', false)) { if (strlen($color) == 0) { return false; } + // RGB ARRAY if (substr($color, 0, 3) == 'rgb') { $codes = substr($color, 4); $codes = str_replace(')', '', $codes); - $returncolor = explode(',', $codes, 3); + $returncolor = explode(',', $codes); return $returncolor; } + // CMYK ARRAY + if (substr($color, 0, 4) == 'cmyk') { + $codes = substr($color, 5); + $codes = str_replace(')', '', $codes); + $returncolor = explode(',', $codes); + return $returncolor; + } + // COLOR NAME if (substr($color, 0, 1) != '#') { // decode color name if (isset($webcolor[$color])) { @@ -9040,6 +9049,7 @@ if (!class_exists('TCPDF', false)) { } else { $color_code = substr($color, 1); } + // RGB VALUE switch (strlen($color_code)) { case 3: { // three-digit hexadecimal representation @@ -14506,27 +14516,279 @@ if (!class_exists('TCPDF', false)) { } /** - * Prints a cell (rectangular area) with optional borders, background color and html text string. - * The upper-left corner of the cell corresponds to the current position. After the call, the current position moves to the right or to the next line.
    - * If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting. - * @param float $w Cell width. If 0, the cell extends up to the right margin. - * @param float $h Cell minimum height. The cell extends automatically if needed. - * @param float $x upper-left corner X coordinate - * @param float $y upper-left corner Y coordinate - * @param string $html html text to print. Default value: empty string. - * @param mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    - * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right (or left for RTL language)
    • 1: to the beginning of the next line
    • 2: below
    - Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. - * @param int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0. - * @param boolean $reseth if true reset the last cell height (default true). - * @param string $align Allows to center or align the text. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    - * @param boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width. - * @access public - * @uses MultiCell() - * @see Multicell(), writeHTML() + * Extracts the CSS properties from a CSS string. + * @param string $cssdata string containing CSS definitions. + * @return An array where the keys are the CSS selectors and the values are the CSS properties. + * @author Nicola Asuni + * @since 5.1.000 (2010-05-25) + * @access protected */ - public function writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true) { - return $this->MultiCell($w, $h, $html, $border, $align, $fill, $ln, $x, $y, $reseth, 0, true, $autopadding, 0); + protected function extractCSSproperties($cssdata) { + if (empty($cssdata)) { + return array(); + } + // remove comments + $cssdata = preg_replace('/\/\*[^\*]*\*\//', '', $cssdata); + // remove newlines and multiple spaces + $cssdata = preg_replace('/[\s]+/', ' ', $cssdata); + // remove some spaces + $cssdata = preg_replace('/[\s]*([;:\{\}]{1})[\s]*/', '\\1', $cssdata); + // remove empty blocks + $cssdata = preg_replace('/([^\}\{]+)\{\}/', '', $cssdata); + // replace media type parenthesis + $cssdata = preg_replace('/@media[\s]+([^\{]*)\{/i', '@media \\1§', $cssdata); + $cssdata = preg_replace('/\}\}/si', '}§', $cssdata); + // trim string + $cssdata = trim($cssdata); + // find media blocks (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv) + $cssblocks = array(); + $matches = array(); + if (preg_match_all('/@media[\s]+([^\§]*)§([^§]*)§/i', $cssdata, $matches) > 0) { + foreach ($matches[1] as $key => $type) { + $cssblocks[$type] = $matches[2][$key]; + } + // remove media blocks + $cssdata = preg_replace('/@media[\s]+([^\§]*)§([^§]*)§/i', '', $cssdata); + } + // keep 'all' and 'print' media, other media types are discarded + if (isset($cssblocks['all']) AND !empty($cssblocks['all'])) { + $cssdata .= $cssblocks['all']; + } + if (isset($cssblocks['print']) AND !empty($cssblocks['print'])) { + $cssdata .= $cssblocks['print']; + } + // reset css blocks array + $cssblocks = array(); + $matches = array(); + // explode css data string into array + if (substr($cssdata, -1) == '}') { + // remove last parethesis + $cssdata = substr($cssdata, 0, -1); + } + $matches = explode('}', $cssdata); + foreach ($matches as $key => $block) { + // index 0 contains the CSS selector, index 1 contains CSS properties + $cssblocks[$key] = explode('{', $block); + } + // split groups of selectors (comma-separated list of selectors) + foreach ($cssblocks as $key => $block) { + if (strpos($block[0], ',') > 0) { + $selectors = explode(',', $block[0]); + foreach ($selectors as $sel) { + $cssblocks[] = array(0 => trim($sel), 1 => $block[1]); + } + unset($cssblocks[$key]); + } + } + // covert array to selector => properties + $cssdata = array(); + foreach ($cssblocks as $block) { + $selector = $block[0]; + // calculate selector's specificity + $matches = array(); + $a = 0; // the declaration is not from is a 'style' attribute + $b = intval(preg_match_all('/[\#]/', $selector, $matches)); // number of ID attributes + $c = intval(preg_match_all('/[\[\.]/', $selector, $matches)); // number of other attributes + $c += intval(preg_match_all('/[\:]link|visited|hover|active|focus|target|lang|enabled|disabled|checked|indeterminate|root|nth|first|last|only|empty|contains|not/i', $selector, $matches)); // number of pseudo-classes + $d = intval(preg_match_all('/[\>\+\~\s]{1}[a-zA-Z0-9\*]+/', ' '.$selector, $matches)); // number of element names + $d += intval(preg_match_all('/[\:][\:]/', $selector, $matches)); // number of pseudo-elements + $specificity = $a.$b.$c.$d; + // add specificity to the beginning of the selector + $cssdata[$specificity.' '.$selector] = $block[1]; + } + // sort selectors alphabetically to account for specificity + ksort($cssdata, SORT_STRING); + // return array + return $cssdata; + } + + /** + * Returns true if the CSS selector is valid for the selected HTML tag + * @param array $dom array of HTML tags and properties + * @param int $key key of the current HTML tag + * @param string $selector CSS selector string + * @return true if the selector is valid, false otherwise + * @access protected + * @since 5.1.000 (2010-05-25) + */ + protected function isValidCSSSelectorForTag($dom, $key, $selector) { + $valid = false; // value to be returned + $tag = $dom[$key]['value']; + $class = ''; + if (isset($dom[$key]['attribute']['class']) AND !empty($dom[$key]['attribute']['class'])) { + $class = strtolower($dom[$key]['attribute']['class']); + } + $id = ''; + if (isset($dom[$key]['attribute']['id']) AND !empty($dom[$key]['attribute']['id'])) { + $id = strtolower($dom[$key]['attribute']['id']); + } + $matches = array(); + if (preg_match_all('/([\>\+\~\s]{1})([a-zA-Z0-9\*]+)([^\>\+\~\s]*)/si', $selector, $matches, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) > 0) { + $parentop = array_pop($matches[1]); + $operator = $parentop[0]; + $offset = $parentop[1]; + $lasttag = array_pop($matches[2]); + $lasttag = strtolower(trim($lasttag[0])); + if (($lasttag == '*') OR ($lasttag == $tag)) { + // the last element on selector is our tag or 'any tag' + $attrib = array_pop($matches[3]); + $attrib = strtolower(trim($attrib[0])); + if (!empty($attrib)) { + // check if matches class, id, attribute, pseudo-class or pseudo-element + switch ($attrib{0}) { + case '.': { // class + if (substr($attrib, 1) == $class) { + $valid = true; + } + break; + } + case '#': { // ID + if (substr($attrib, 1) == $id) { + $valid = true; + } + break; + } + case '[': { // attribute + $attrmatch = array(); + if (preg_match('/\[([a-zA-Z0-9]*)[\s]*([\~\^\$\*\|\=]*)[\s]*["]?([^"\]]*)["]?\]/i', $attrib, $attrmatch) > 0) { + $att = strtolower($attrmatch[1]); + $val = $attrmatch[3]; + if (isset($dom[$key]['attribute'][$att])) { + switch ($attrmatch[2]) { + case '=': { + if ($dom[$key]['attribute'][$att] == $val) { + $valid = true; + } + break; + } + case '~=': { + if (in_array($val, explode(' ', $dom[$key]['attribute'][$att]))) { + $valid = true; + } + break; + } + case '^=': { + if ($val == substr($dom[$key]['attribute'][$att], 0, strlen($val))) { + $valid = true; + } + break; + } + case '$=': { + if ($val == substr($dom[$key]['attribute'][$att], -strlen($val))) { + $valid = true; + } + break; + } + case '*=': { + if (strpos($dom[$key]['attribute'][$att], $val) !== false) { + $valid = true; + } + break; + } + case '|=': { + if ($dom[$key]['attribute'][$att] == $val) { + $valid = true; + } elseif (preg_match('/'.$val.'[\-]{1}/i', $dom[$key]['attribute'][$att]) > 0) { + $valid = true; + } + break; + } + default: { + $valid = true; + } + } + } + } + break; + } + case ':': { // pseudo-class or pseudo-element + if ($attrib{1} == ':') { // pseudo-element + // pseudo-elements are not supported! + // (::first-line, ::first-letter, ::before, ::after) + } else { // pseudo-class + // pseudo-classes are not supported! + // (:root, :nth-child(n), :nth-last-child(n), :nth-of-type(n), :nth-last-of-type(n), :first-child, :last-child, :first-of-type, :last-of-type, :only-child, :only-of-type, :empty, :link, :visited, :active, :hover, :focus, :target, :lang(fr), :enabled, :disabled, :checked) + } + break; + } + } // end of switch + } else { + $valid = true; + } + if ($valid AND ($offset > 0)) { + $valid = false; + // check remaining selector part + $selector = substr($selector, 0, $offset); + switch ($operator) { + case ' ': { // descendant of an element + while ($dom[$key]['parent'] > 0) { + if ($this->isValidCSSSelectorForTag($dom, $dom[$key]['parent'], $selector)) { + $valid = true; + break; + } else { + $key = $dom[$key]['parent']; + } + } + break; + } + case '>': { // child of an element + $valid = $this->isValidCSSSelectorForTag($dom, $dom[$key]['parent'], $selector); + break; + } + case '+': { // immediately preceded by an element + for ($i = ($key - 1); $i > $dom[$key]['parent']; --$i) { + if ($dom[$i]['tag'] AND $dom[$i]['opening']) { + $valid = $this->isValidCSSSelectorForTag($dom, $i, $selector); + break; + } + } + break; + } + case '~': { // preceded by an element + for ($i = ($key - 1); $i > $dom[$key]['parent']; --$i) { + if ($dom[$i]['tag'] AND $dom[$i]['opening']) { + if ($this->isValidCSSSelectorForTag($dom, $i, $selector)) { + break; + } + } + } + break; + } + } + } + } + } + return $valid; + } + + /** + * Returns the styles that apply for the selected HTML tag. + * @param array $dom array of HTML tags and properties + * @param int $key key of the current HTML tag + * @param array $css array of CSS properties + * @return string containing CSS properties + * @access protected + * @since 5.1.000 (2010-05-25) + */ + protected function getTagStyleFromCSS($dom, $key, $css) { + $tagstyle = ''; // style to be returned + // get all styles that apply + foreach($css as $selector => $style) { + // remove specificity + $selector = substr($selector, strpos($selector, ' ')); + // check if this selector apply to current tag + if ($this->isValidCSSSelectorForTag($dom, $key, $selector)) { + // apply style + $tagstyle .= ';'.$style; + } + } + if (isset($dom[$key]['attribute']['style'])) { + // attach inline style (latest properties have high priority) + $tagstyle .= ';'.$dom[$key]['attribute']['style']; + } + // remove multiple semicolons + $tagstyle = preg_replace('/[;]+/', ';', $tagstyle); + return $tagstyle; } /** @@ -14538,6 +14800,46 @@ if (!class_exists('TCPDF', false)) { * @since 3.2.000 (2008-06-20) */ protected function getHtmlDomArray($html) { + // array of CSS styles ( selector => properties). + $css = array(); + // extract external CSS files + $matches = array(); + if (preg_match_all('/]*)>/isU', $html, $matches) > 0) { + foreach ($matches[1] as $key => $link) { + $type = array(); + if (preg_match('/type[\s]*=[\s]*"text\/css"/', $link, $type)) { + $type = array(); + preg_match('/media[\s]*=[\s]*"([^"]*)"/', $link, $type); + // get 'all' and 'print' media, other media types are discarded + // (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv) + if (empty($type) OR (isset($type[1]) AND (($type[1] == 'all') OR ($type[1] == 'print')))) { + $type = array(); + if (preg_match('/href[\s]*=[\s]*"([^"]*)"/', $link, $type) > 0) { + // read CSS data file + $cssdata = file_get_contents(trim($type[1])); + $css = array_merge($css, $this->extractCSSproperties($cssdata)); + } + } + } + } + } + // extract style tags + $matches = array(); + if (preg_match_all('/]*)>([^\<]*)<\/style>/isU', $html, $matches) > 0) { + foreach ($matches[1] as $key => $media) { + $type = array(); + preg_match('/media[\s]*=[\s]*"([^"]*)"/', $media, $type); + // get 'all' and 'print' media, other media types are discarded + // (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv) + if (empty($type) OR (isset($type[1]) AND (($type[1] == 'all') OR ($type[1] == 'print')))) { + $cssdata = $matches[2][$key]; + $css = array_merge($css, $this->extractCSSproperties($cssdata)); + } + } + } + // remove heade and style blocks + $html = preg_replace('/]*)>(.*?)<\/head>/siU', '', $html); + $html = preg_replace('/]*)>([^\<]*)<\/style>/isU', '', $html); // define block tags $blocktags = array('blockquote','br','dd','dl','div','dt','h1','h2','h3','h4','h5','h6','hr','li','ol','p','pre','ul','tcpdf','table','tr','td'); // remove all unsupported tags (the line below lists all supported tags) @@ -14747,17 +15049,22 @@ if (!class_exists('TCPDF', false)) { $dom[$key]['text-indent'] = $dom[$parentkey]['text-indent']; } // get attributes - preg_match_all('/([^=\s]*)=["]?([^"]*)["]?/', $element, $attr_array, PREG_PATTERN_ORDER); + preg_match_all('/([^=\s]*)[\s]*=[\s]*"([^"]*)"/', $element, $attr_array, PREG_PATTERN_ORDER); $dom[$key]['attribute'] = array(); // reset attribute array while (list($id, $name) = each($attr_array[1])) { $dom[$key]['attribute'][strtolower($name)] = $attr_array[2][$id]; } + if (!empty($css)) { + // merge eternal CSS style to current style + $dom[$key]['attribute']['style'] = $this->getTagStyleFromCSS($dom, $key, $css); + } // split style attributes - if (isset($dom[$key]['attribute']['style'])) { + if (isset($dom[$key]['attribute']['style']) AND !empty($dom[$key]['attribute']['style'])) { // get style attributes preg_match_all('/([^;:\s]*):([^;]*)/', $dom[$key]['attribute']['style'], $style_array, PREG_PATTERN_ORDER); $dom[$key]['style'] = array(); // reset style attribute array while (list($id, $name) = each($style_array[1])) { + // in case of duplicate attribute the last replace the previous $dom[$key]['style'][strtolower($name)] = trim($style_array[2][$id]); } // --- get some style attributes --- @@ -14990,9 +15297,14 @@ if (!class_exists('TCPDF', false)) { $dom[$key]['fontname'] = $this->default_monospaced_font; } if (($dom[$key]['value']{0} == 'h') AND (intval($dom[$key]['value']{1}) > 0) AND (intval($dom[$key]['value']{1}) < 7)) { - $headsize = (4 - intval($dom[$key]['value']{1})) * 2; - $dom[$key]['fontsize'] = $dom[0]['fontsize'] + $headsize; - $dom[$key]['fontstyle'] .= 'B'; + // headings h1, h2, h3, h4, h5, h6 + if (!isset($dom[$key]['attribute']['size']) AND !isset($dom[$key]['style']['font-size'])) { + $headsize = (4 - intval($dom[$key]['value']{1})) * 2; + $dom[$key]['fontsize'] = $dom[0]['fontsize'] + $headsize; + } + if (!isset($dom[$key]['style']['font-weight'])) { + $dom[$key]['fontstyle'] .= 'B'; + } } if (($dom[$key]['value'] == 'table')) { $dom[$key]['rows'] = 0; // number of rows @@ -15097,6 +15409,30 @@ if (!class_exists('TCPDF', false)) { return $spacestr; } + /** + * Prints a cell (rectangular area) with optional borders, background color and html text string. + * The upper-left corner of the cell corresponds to the current position. After the call, the current position moves to the right or to the next line.
    + * If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting. + * @param float $w Cell width. If 0, the cell extends up to the right margin. + * @param float $h Cell minimum height. The cell extends automatically if needed. + * @param float $x upper-left corner X coordinate + * @param float $y upper-left corner Y coordinate + * @param string $html html text to print. Default value: empty string. + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right (or left for RTL language)
    • 1: to the beginning of the next line
    • 2: below
    + Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. + * @param int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0. + * @param boolean $reseth if true reset the last cell height (default true). + * @param string $align Allows to center or align the text. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    + * @param boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width. + * @access public + * @uses MultiCell() + * @see Multicell(), writeHTML() + */ + public function writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true) { + return $this->MultiCell($w, $h, $html, $border, $align, $fill, $ln, $x, $y, $reseth, 0, true, $autopadding, 0); + } + /** * Allows to preserve some HTML formatting (limited support).
    * IMPORTANT: The HTML must be well formatted - try to clean-up it using an application like HTML-Tidy before submitting. @@ -20606,6 +20942,8 @@ if (!class_exists('TCPDF', false)) { $this->svgtext .= $data; } + // --- END SVG METHODS ----------------------------- + } // END OF TCPDF CLASS } //============================================================+
    @@ -24262,7 +24418,7 @@ $font)
    -

    method _putencryption [line 9140]

    +

    method _putencryption [line 9150]

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

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/index.html b/doc/index.html index 7aea844..056d786 100644 --- a/doc/index.html +++ b/doc/index.html @@ -64,7 +64,7 @@ This documentation was generated by phpDocumentor v1.4.3

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    @@ -24293,7 +24449,7 @@ $font)
    -

    method _putextgstates [line 12924]

    +

    method _putextgstates [line 12934]

    diff --git a/doc/errors.html b/doc/errors.html index 9951993..f343d41 100644 --- a/doc/errors.html +++ b/doc/errors.html @@ -35,7 +35,7 @@ Post-parsing

    - Documentation generated on Fri, 21 May 2010 18:49:02 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:54 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/elementindex_com-tecnick-tcpdf.html b/doc/elementindex_com-tecnick-tcpdf.html index d1dd176..48e116b 100644 --- a/doc/elementindex_com-tecnick-tcpdf.html +++ b/doc/elementindex_com-tecnick-tcpdf.html @@ -634,6 +634,8 @@
    in file qrcode.php, method QRcode::estimateVersion()
        estimateVersion
    evaluateSymbol
    in file qrcode.php, method QRcode::evaluateSymbol()
        evaluateSymbol
    +
    extractCSSproperties
    +
    in file tcpdf.php, method TCPDF::extractCSSproperties()
        Extracts the CSS properties from a CSS string.
    top
    @@ -872,6 +874,8 @@
    in file tcpdf.php, method TCPDF::GetStringWidth()
        Returns the length of a string in user unit. A font must be selected.
    getSVGTransformMatrix
    in file tcpdf.php, method TCPDF::getSVGTransformMatrix()
        Get the tranformation matrix from SVG transform attribute
    +
    getTagStyleFromCSS
    +
    in file tcpdf.php, method TCPDF::getTagStyleFromCSS()
        Returns the styles that apply for the selected HTML tag.
    getTransformationMatrixProduct
    in file tcpdf.php, method TCPDF::getTransformationMatrixProduct()
        Get the product of two SVG tranformation matrices
    getUserPermissionCode
    @@ -1000,6 +1004,8 @@
    in file qrcode.php, method QRcode::isdigitat()
        Return true if the character at specified position is a number
    isRTLTextDir
    in file tcpdf.php, method TCPDF::isRTLTextDir()
        Return the current temporary RTL status
    +
    isValidCSSSelectorForTag
    +
    in file tcpdf.php, method TCPDF::isValidCSSSelectorForTag()
        Returns true if the CSS selector is valid for the selected HTML tag
    top
    @@ -1987,7 +1993,7 @@ top

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:48 +0200 by phpDocumentor 1.4.3
    @@ -24483,7 +24639,7 @@ $cidoffset = 0])
    -

    method _putjavascript [line 11535]

    +

    method _putjavascript [line 11545]

    diff --git a/doc/elementindex.html b/doc/elementindex.html index 45f4692..e013314 100644 --- a/doc/elementindex.html +++ b/doc/elementindex.html @@ -453,6 +453,8 @@
    in file qrcode.php, method QRcode::estimateVersion()
        estimateVersion
    evaluateSymbol
    in file qrcode.php, method QRcode::evaluateSymbol()
        evaluateSymbol
    +
    extractCSSproperties
    +
    in file tcpdf.php, method TCPDF::extractCSSproperties()
        Extracts the CSS properties from a CSS string.
    top
    @@ -691,6 +693,8 @@
    in file tcpdf.php, method TCPDF::GetStringWidth()
        Returns the length of a string in user unit. A font must be selected.
    getSVGTransformMatrix
    in file tcpdf.php, method TCPDF::getSVGTransformMatrix()
        Get the tranformation matrix from SVG transform attribute
    +
    getTagStyleFromCSS
    +
    in file tcpdf.php, method TCPDF::getTagStyleFromCSS()
        Returns the styles that apply for the selected HTML tag.
    getTransformationMatrixProduct
    in file tcpdf.php, method TCPDF::getTransformationMatrixProduct()
        Get the product of two SVG tranformation matrices
    getUserPermissionCode
    @@ -819,6 +823,8 @@
    in file qrcode.php, method QRcode::isdigitat()
        Return true if the character at specified position is a number
    isRTLTextDir
    in file tcpdf.php, method TCPDF::isRTLTextDir()
        Return the current temporary RTL status
    +
    isValidCSSSelectorForTag
    +
    in file tcpdf.php, method TCPDF::isValidCSSSelectorForTag()
        Returns true if the CSS selector is valid for the selected HTML tag
    top
    @@ -1958,7 +1964,7 @@ top

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +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 59546f8..309ab92 100644 --- a/doc/com-tecnick-tcpdf/_unicode_data.php.html +++ b/doc/com-tecnick-tcpdf/_unicode_data.php.html @@ -243,7 +243,7 @@ Unicode Include file for TCPDF.




    - Documentation generated on Fri, 21 May 2010 18:49:02 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:54 +0200 by phpDocumentor 1.4.3
    @@ -24514,7 +24670,7 @@ $cidoffset = 0])
    -

    method _putocg [line 12842]

    +

    method _putocg [line 12852]

    diff --git a/doc/com-tecnick-tcpdf/_tcpdf.php.html b/doc/com-tecnick-tcpdf/_tcpdf.php.html index 571feff..8a4ee4b 100644 --- a/doc/com-tecnick-tcpdf/_tcpdf.php.html +++ b/doc/com-tecnick-tcpdf/_tcpdf.php.html @@ -71,7 +71,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 ISO 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;
    • methods to publish some XHTML 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;
    • 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;
    • bookmarks and table of content;
    • text hyphenation;
    • 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);
    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 ISO 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;
    • 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;
    • 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;
    • bookmarks and table of content;
    • text hyphenation;
    • 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);
    Tools to encode your unicode fonts are on fonts/utils directory.</p>




    Tags:

    @@ -24617,7 +24773,7 @@ $cidoffset = 0])
    -

    method _putshaders [line 13478]

    +

    method _putshaders [line 13488]

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

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_htmlcolors.php.html b/doc/com-tecnick-tcpdf/_htmlcolors.php.html index de2096a..c98af34 100644 --- a/doc/com-tecnick-tcpdf/_htmlcolors.php.html +++ b/doc/com-tecnick-tcpdf/_htmlcolors.php.html @@ -94,7 +94,7 @@ Array of WEB safe colors.




    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    @@ -24648,7 +24804,7 @@ $cidoffset = 0])
    -

    method _putsignature [line 12560]

    +

    method _putsignature [line 12570]

    diff --git a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html index dd48577..012373d 100644 --- a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html +++ b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html @@ -539,7 +539,7 @@ Configuration file for TCPDF.




    - Documentation generated on Fri, 21 May 2010 18:49:02 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:54 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_barcodes.php.html b/doc/com-tecnick-tcpdf/_barcodes.php.html index 2744dbb..5938614 100644 --- a/doc/com-tecnick-tcpdf/_barcodes.php.html +++ b/doc/com-tecnick-tcpdf/_barcodes.php.html @@ -102,7 +102,7 @@ PHP class to creates array representations for common 1D barcodes to be used wit

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    @@ -24853,7 +25009,7 @@ $font)
    -

    method _RC4 [line 9259]

    +

    method _RC4 [line 9269]

    diff --git a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html index 39d36d2..76355fa 100644 --- a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html +++ b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html @@ -102,7 +102,7 @@ PHP class to creates array representations for 2D barcodes to be used with TCPDF

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/TCPDFBarcode.html b/doc/com-tecnick-tcpdf/TCPDFBarcode.html index 00ae0a4..b7c5d80 100644 --- a/doc/com-tecnick-tcpdf/TCPDFBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDFBarcode.html @@ -1374,7 +1374,7 @@ $type)

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    @@ -25114,7 +25270,7 @@ $file)
    -

    method _Uvalue [line 9365]

    +

    method _Uvalue [line 9375]

    diff --git a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html index a65b84c..c3d6d82 100644 --- a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html @@ -296,7 +296,7 @@ $type)

    - Documentation generated on Fri, 21 May 2010 18:48:57 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:49 +0200 by phpDocumentor 1.4.3
    @@ -25151,7 +25307,7 @@ $file)

    - Documentation generated on Fri, 21 May 2010 18:48:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:50 +0200 by phpDocumentor 1.4.3
    @@ -79,7 +79,7 @@ This is a PHP class for generating PDF documents without requiring external exte - + @@ -110,7 +110,7 @@ unicode data

    author:  Nicola Asuni
    version:  5.0.014version:  5.1.000
    copyright:  2002-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
    - PDF_PRODUCER = 'TCPDF 5.0.014 (http://www.tcpdf.org)' + PDF_PRODUCER = 'TCPDF 5.1.000 (http://www.tcpdf.org)'
    @@ -121,7 +121,7 @@ unicode data


    - Documentation generated on Fri, 21 May 2010 18:48:58 +0200 by phpDocumentor 1.4.3 + Documentation generated on Tue, 25 May 2010 19:49:50 +0200 by phpDocumentor 1.4.3