From c4e5c53cdd86ad5dcf83412e0cb7b3b8507b773d Mon Sep 17 00:00:00 2001 From: Manuzza Date: Sun, 22 Apr 2018 00:51:42 +1000 Subject: [PATCH] made changes as per Issue 90 on GITHUB (#98) * made changes as per Issue 90 on GITHUB * phpcs and phpcbf * updated example * updated readme.pdf --- data.txt | 3 +++ examples/table-enhancements.php | 3 ++- readme.pdf | Bin 80814 -> 80876 bytes src/Cezpdf.php | 23 ++++++++++++++++++++++- src/Cpdf.php | 2 +- 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/data.txt b/data.txt index 0a2b687..e5264e6 100644 --- a/data.txt +++ b/data.txt @@ -32,6 +32,7 @@ Note that this document was generated using the demo script 'readme.php' which c 3<0.12.44> - replaced each() method for PHP 7.2 compatibility reason #96 +- applied PR #98 3<0.12.43> @@ -367,6 +368,8 @@ The other options are described here below 'outerLineThickness' => , the thickness of the outer lines, defaults to 1 'protectRows' => , the number of rows to keep with the heading, if there are less than this on a page, then all is moved to the next page. 'nextPageY'=> true or false (eg. 0 or 1) Sets the same Y position of the table for all future pages +'evenColumns' => 0, 1, 3, Set set all columns to the same widths, version 0.12.44 +'evenColumnsMin' => , the minimum width a column should have 0.12.9: 'shadeHeadingCol'=>(r,g,b) array, defining the backgound color of headings, default is empty diff --git a/examples/table-enhancements.php b/examples/table-enhancements.php index 59edb7a..8ecae3e 100644 --- a/examples/table-enhancements.php +++ b/examples/table-enhancements.php @@ -20,7 +20,8 @@ $cols = array('num' => 'No', 'type' => 'Type', 'name' => 'Alias'); $conf = array( -'evenColumns' => 1, +'evenColumns' => 2, +'evenColumnsMin' => 40, 'maxWidth' => 350, 'shadeHeadingCol' => array(0.6, 0.6, 0.5), 'shaded' => 1, diff --git a/readme.pdf b/readme.pdf index 6e5f7cf530b0185761337d773b4899bc6b574724..cb087685ebaa61313cadabb35f1517f57e25deb2 100644 GIT binary patch delta 12916 zcmZu%cRZKv_fJM)qnyU!k0$c|4)*)q!Bgsj`hp4lWqD6&ULMn+|CB3rf)+12m! zJm24U$tNxz78X^FHUg-6aP^8wW&XjpvDBFf0O6*?L}B3czwnOLMupxjZnn zC-=;VzT4uGi=lb9EL<-X>RCufMH(<$Zy-@!w_)+dr&~esy%k}YED!FNpMk%5hso6x z`3En)9Tb|)FF;^Mi;1C*kO^v)TCXAzz@NHrgDa`!);tv@&Z z<-PfWIPb|9>mi?@O#s;bFd7;bpW3D(Ne#VT7cjZ7^b|P#<*C*j^jKbm1)k3$WkIikv^pl?k3yUnjIOWvd58Oi&a)BtFHI20fq5;9UiJBx&o%rS&?Zcqo zn%&gThkXn3;lfti0BZp+YezzoO?Zc}^d-gSq1RSnnrwOBlV}}ejGoS!+rA!oYr{1( z32hUY=`RiH6%NaJeBZi)xq>&Rhc{kpL=s7I?U-EK{MdIDsN|l;-68*xa-aW39BpSv z38_jq6H9*fF<1DFBoD8GkSh}9=@rM&vJYPBZKrfk4M!uY9#8~#Z1z2+;18=zmG@Z{ z;(Q$1!5N|${eA9>BtU48-WZ=*v>7S4JYn9h((JXGMpjHpb2Wp{Ek3n8iSe|HvM$7{ zHxFZS`p$*{1xTl>ZCx7#V5 z;m#U_M>gH;FzSWdXGPc2U+)-tjPF?dj?_G{YRYJ`8%{A*+t7_bXn8$hw>uwb+hIWp z`@%ACG_Y$B&>khP>7`eBVMBT^n9cTuys@-nnUT#`Ro($WR(z|ZnT*)&kdfW4KzMW7 zw^bieIVqxdHymo0xY(&7?Qb=yYW}_efXW{~%8q#gB`U}gW+)bL6Zb07NQA}j6p>## zrW&xZ9k6%2z5k$DGip#FeO*O{Zy#4mrhCr1Pbb>9&sBT2oEUe0 zn7A&RPwRMMl;>Lel~&Tx$To+TIw#MGWT679?pwX&t*HY)`_(nx;xQBhB(fU}rZ_C^SC6-pyXB!d$wCSzp8*+P|^im&vCf%^0sxoF1AKneGq-0}`} zRdms%2=o`G>9*7um2TUD&JPoNBTA4S*K(acuYG%$k|)%o{Jyd) zjau*44%_#UW)(%1-gzJ(VWv59G^?2`mh|Q-zX`9Grv3-XSNhCR&zgr8!i?|A>6JS@ z<H6FS$!Q>FMTmM*=!{-tUf#HwL*fJ zXr{VM!YlnEbHlV-TX^HWq}l3#NH;F?de7>cN2F6+8CMr5wwD^IDwUPWL;(Z_{Rgqn zbnG1`Q8d3Y@5!1FCsMNB(AqMhH!&J2mO;5aJIF4I46Ly-i01QRNJ9MlA)ystEFLw; z7rq!aI<@;{CzJQlo=XT%AQ`uSik6yHgatMym4rKe>iN(ZgJuX>dNGaoKI3|xNZ$9} z-horyBU=D~UQf$9Tp^|$YoJ@UTxRxLx*C>}*C6Y~tHE0(wuX!s=9|;Y7S(B(*MCV; z{Gwuu;i0i1)1$5~dc;YTn1vFrzH^v0^JV?1W`bh#W{0BsohP$hRBM_2@ncr4r7hJC z{pwHFspcR0k$YOqx=yZ`-4Ur1yKm2Ic0tUig0F!S7!zL8f7zA8SgBs#P^d8ENebJ| zaVQGbSZ<_Jr=Ce8aw`wKB-BDFux!>oNyls*{xawW%|cum*~N;HTeBv`jVXlY7;@!% zjNGn??RQl~laHS@IA?oMljyflkbG4Q6ICPc4nOka^}I+tpZh-k_Ic-8)#vM6H?-K4 zR)3NWTn17-!eIk{xt|!6ZFyYhhbSQ-b`J&{~d7k!)|!@Y86!t}lgC1YJCA6|LV|6f3P*Ec@8= z6XyleZO-+CEYBa5_yl0JTS|oGsD%A&+lgOi|4ci_=<}#L+5Q>tq+-wFL3>k5_A5ASXn61=}!06FLx-W)Utt^mtYv%}VoP zxu*7xFqBU3-hxCLvRy~XIh3r`8uH|E%KO*vA-4St?M%k@Hz!Zt6r-xIHul<0LRFSd zgp5=w-Jcd%V#j=lp6->IM%?fk$DNl~p|;)Z*DDA(DsR0JH;c&JhNOD+pL@>sYAbD% z7&u)nHf34qvh@aDHSfWL(EriJ7)@gw%Z*MG`wz)Ht?X~>#!4=x&S3QVZN)n6vJ#N zAj>%C8Mwxt>O?){G;+6rgFw{to4+!z6%L>eShN?*r#qGUOde08bX)K`DKBg2fDkrD zj!a`wv}%)0&ju$so*Dn@`O?+v60ZX(l|GvWvE2OF<~c3wHZ9l*ko08lNcA=8=n{09 z>d8c<(MrQ~gVi4y1uCCv$9h8WWIm!lM)-}NL&ewLft z^xD~?r`~&z1^%)zktnQXKdXX)5kmt!q5;gMW`p;8#ap>3Ay)Q|%)uD0y=F-Dm6MZ9 zv7Xs&`pYtyleU(CDWaiwbG&KaD4(en(9n-BCKPa842kVgry$=buF6 zZ>U}IxvP+V@bDtyV79DEvE-SFxXEvm8gD0KcCrjDU6H`@%@)s%aoVUi8@QI)OTTAXq1?nljq=Z@?@86TdagXO5_I|)@Kf-n*ZOY)|H6(R32ffx zBvIWzy46J!g1zO4miC1?61u#l0L&lqU!2&2dkkSvIPhsVSX=r$#+W~q{?hyF1y%8= z)ZREZKKUkN263KTL|Q%f;=ao*7v*&5{iv4HRgce)4iDp|l4YXIxmld%mGxz<3l=Iu zpL(|<>};Bm~2-=gi{QzeEVMBm5)qWE(K8K0+$=wuc!L_yqTJz3j$m`uH~sh*l)E!E z%{D06&XrVdBJoxo&W~L4363vFi|FB0U!IiLgoezpE>D}RMn3P`vuMZ-RusFmVM?yN z^fK}MgLQH-5J>KkqsWHi;(BsE^M?P>Rm3>xwtS(=qcdY+rJOuWk2FL^J6 zP$&c_;gx*wfx1eo$m>;}jWILEtsyVWL$1nG!SR7P%@%E@-7(9@{FkAF+e3pz4T?F1 z#w*i=0=>F)@{Af8ip&0mxXqs9>X(S^d<5X;QaMt4hj`2TNL@qg$@N7=hKl%{jDg!! z%At=$H|QD)+Q^x`yoeIEECnNUSuYR?nOLs@rmq+-DecdtjRiG-38s}i2Q4?4g6YoR z%@^yQzWjBqHU9$x)vtkm!fJWQ1-Z^_dao5$0d2wADVvdo-E$O6A~%;AnTU@vq7lYrR?Y$ZZIfL{R7`On zhv!vkuhDR=WckmN>&?iK#UFhK{gfw2*{Si-m&AZ{cAs{MJ$0WLx9W{_!-;l=lh`-V z*mrfe>ObnCnwrsuyJK_P4@=i%-;(AdN&yFkrN#t-+?c?TV$0S?-AkrU&aIUn^V#ho zzeG0;rll&04ceHrsK;*IDAnX4$E_O^ezU)kTKB+mEcki7>pk&+dxhC0rBZMCX(^ae zvVG$9U5ilDjVHO=*80d(Ow?&p4)$Dm zou(yB-EpMsbIuj&26s18XNivYEYZCz^70I?@(f5dh?U!04Au$O-2JjCFBS@CZ)$UE zke$k3ebly8uHx`M2jShSt~NOSl5p<^Fj8SF^+NlN^j3ypGn<>E(CA(wYc?GAycRx;j5(N8sY{W}}# zs|H2R+JuaJjkZFU<_3ca9R-LvFe;sa!8hGFyy(Ya@`_?z=V9Oc zJ*&jbefom1ktxOe;aZ`WY;5Q?l{ z-%wX+<`Je8S=v2H;(l_0ock+`xb0A9GoO}ElckRLMU=1gBwcbR785`DlB3Yvcmg}| ziOZXwx4imMY(8bHqdA4eXQ?MY|8m3nA?>IDP0q=89!eb`Q&EwJ4ReoE{s@SzGL7Y# zOkkO!9uEyXh^LGW%&b2kweO)2a)*@BHpXfH-X4yiN*hjQSZlM%vXr<&9P_O7Ry-UB znL@4&c^W(4bY_m_q?}EexYP9OqBy$@Il{{@UM8y8j6A-6&{K+lq_4 z^hma8*jD`jyi)(XC&+~{m6rq5IJAIBlJ+#R*!CKg^>y(2S+0G`Nu?1(0#PWs8p7> z8?n?(s!}}h+wY#=%aM*&ugge^-#M$ebxLL)i!kL*ACB|&P>GGl?%W3!^<(AKR}Hx^ zcl~0&b$ozZkK~zCwIf0flMSeM8I%Uc&(}$)C|>1zmy$5t;Bqy!ZB^~w^N~4s!^y$nq5zrEW>f>Lp#3CZXqljwe%kSMu!%Jna|4m%2Jz7ng}ILiigJ=?uC~8(tnkV ztCr%rBH5g{aNqazCvB4|@Ezwiv1U*I)@zX?l;H~2V3DbQ{^0BPC+|-la{|AAgkH5Z zWhfJH;bFc8qn;}v^-0Xl_V~@_iPg}*p-l9YezE^!`HZ^Yg3S`N3)Q3Cpv*rqS#cmk z31hq`ZV)}9Y9x}S;&ofRnSM2~M@vshPUUNlv&dRnUEK$$sXp1*zAW3w&I^thoS>@Y zV(ODU;1!fQHV;kfq;+MO=jwn76;_y}q2KEDEt(Fi+pl5zIO7C*j7$H_T!`j3^z}Q;0cZgkSNq2t+ZIzC~^VC;G1>NIXk#pM&l=ogs+`-wuV4ncHYKDkXcu_ z`z1l)$%LNMV`E>8vstvqO^O>9S0dbEd!-J(tV^Dj1xWH}GRSHs@(-{GQ zQ*WyztVe!mHy>7A9ry9iLQ(S~ilW*+cV>SYJjZ%LM#Xz+;M8|sPNpYDZFK49P^LJ8 znmcKctl?7bjLqnGoyXZ8KM7L&Yn;q#>4DJf*{!y1%^>fEi=7La{SlvY9co!*c>{pk z36B@8-8^hy_0KQZyqRtbT2^|vQ5&xqO*5Of6Xk*rRjD~5*{rD+ zB(>fip?j*oWf$K`aotptP#ZELkOUs6b{`P=F~pXT|>ggjeVnLTDiS8mQODCeAjD95067R zB45j5mTKs|n+^`rO&^)sNCMt@M@8}M?)|wob^IIon`+k>&#@@*UGpi8jdugmTO%o= zy+c+RlQ#3mbwxBw4r)<-17eW!s7b-u{;l9*iQhyr|Oba=5zl_gKq_Z-EOz^WVwaP7kj0syJ=;SqyqU zkSEJyXUN^DxpV0a;ghkqkAVGcIvDQ3EV(?9`;1Y=c}&hFmB_SFU+Y@Mk1Z#^2dsZQ z`DxY4GGlvC$W*=KK-A?i$a-HUMD+a! zg(};}4ln7K@pBPJnUU%CPSJF7q_X(#%7McjmN$<&6xKB8d)8i?uDtq zbUs=+Z`ssrdTeE7g#>Z>aq_~a6HjoLQvz@&SBF-voi-DXF`c3+~TdT0^m zf=rC#+nY5m>O{>f7nIT=ee&d$l(jOeNGw7a2$El56;-Z1fIVe$n(fn z0FFic(LnzDBGb7!WQ5pIpYDg5rK~iiZs>W1H~in;oFf+1L|xX?5)_QtUH4E@sj(aA zKyk%giudsOwplmS<9L&lZ3%Nxejo$;jV+n1ilU3XTe^PMi*n|6>SB*O|HJm_*6$Lh zjSVbe^QBBjK=I0#<>eg6QR4eXD;X;?^}O%Mk8fZq1saa`9o!4m2kw(Os2bkB^g^9u ztng#Ob7GFcS|Jzliwa`gBkiN7m2^o}vvb_L>{}Ir&Q}U^xvx90G0wi4yImT3%$A~% zsW8*RD~$E=k$VhXe*YBHXuM5eW+MBMA{^)G(%^D1W;ywMIEjRmxK6xd(Sq z5WhB0PyR%J>}#t{Y|00{1Pz-s8cLDJ`i-L+Bl;1={Eu#Uw7l1x_9k>~%F#^Ev88oC z&v-QV!1HGJ`VW$H9PwQ1MoD^wh+A~Y8rMZh)s8Bp++~j*DL&PkQA?2-F$6>uDLp5H z3wtgcA|uJh2731GZcOZz7oJ^Qn&(*Px^C+~h^nN>c&Qgq-U7}vgeD#X^lE|LK za&M569WZHb8kiE~b4lA`2<4*9$e`8TXf}C?_!8Oh+w-dY=0vw&w5mO0EkP1rQD|T> z-(ixD3@a1+Tt|NrpgpWIckQ5$A|_~kkMT6>-CXNC9|Ns@^=VOq(BD=JURHULMmUGi zD$i%{jeKljUybi1KMf>~WK3~P*M318{cGCpCW09lVKutamgYH`yR+_5BXG#3PI)RU z*tjuNZwr|V3@wAt`fOBAYqY;wZ0zTV1c7{lKYE6gJ4uKu;wRn~VMtwt&# zjwVkF8mJQhmMV?AG)q3L5EHnY&IIn%n!hu5ng3nBd-UE^x~XG4>&`Db-OcsZ<<1-pu?Y#A!sIG!~gMh zn|G>i$B;$Ib6x{k=|=X2UB(P&zha^%mnoACD3qg0evPhdTqd@n+@G%P@8(;v9;rWe z7!|D2Xk;Q0(KXC|?|Qe9eJE-9Z8z0#LMR92m*IzcQ@s|pi@O%>P7Ud%{yW=IM4jqb zLcpi|%SZOE4LFzb5M``8FVioZ@~NE|xN!le(C!+UN$^dHuC=36(@W8>2=NH|6hITSGJ4cK&n?xZtkD_w1U;^AiNrm#br21 zM2_W)%|kllh;RGnscWjqEHI9qvWRkplWByf15lI<=b_zxo%@$%hfdt?WW{t_A7CVX zN}}^Mzpq$I?N|3Lfcle&Spbud6ZOmlzg#%7#uY$qj;)6BiZ$KI%7}aB(xx5AW5{lL zK1DruMXH-Q>f3~d_w`M_;DN{KB9|dg_(UR3ax;TJ|GwhK>Y~kG5ObS3TqCufqHM0H zTG_Uxdc#c2s#SQ5qb1p*C_rL)f<|CIo61Uo zk#*cVp5E-=`&&wzB7s$*zlbg4NL>@Q5`9@vSg05piuo(TFflX&0pUVJkYY$Iq%t_k zEeU`lxgdZ2a5-?1|NRRTjYRzeh6Q6N*gs&%f50$c3=RDk2K=vKG~yo?qQMvj@(&o^ z!!wRxU}zKwgG2tn0Q?>(1`huN{2N0+p=UQ^p$O1AEEH@63;WZ^U(dtBFlV0!gF;XM z`iv1ghy`O%7#M@W;h?>62<9vXL!-|!1A}4k0sosV;6HK4gZTI5e}n&v;iUnDVL=!i z0`eFJhk#gx!J%hZ#q$qCU|_JbMi3a}KVTRzhK2qEh5%tm2o%I13IfLhXAPsEFi@P( zP&gPvVL?=*(XfBOkpF;T{*3|uE;|?+g9619i^hU63=E8cS%5ktr-$8ZD$y$=FbI%82z+XvU5Cd&fk8l^puphiLHx1zFS)^k zpvWK~_-Z*rE*=B1g~0DV6F~?9|6$eo~?R3 z1`=Ha0tE%HL*YMTIU_gt=fOcnkVw?ov_l}lF~(zHW{_yGVSGLQnICxm@nr!8QH_R! zS`U658gxK30s=Z9zNh|a4FU@TRXrXc!a-dD3B}9EnRR&VY?uHD9t4dScns9@kWe`6 zEY)}n1vY|!pREWa9G}8x4}*^|itDfX`=40{zwkdw{BI#f!ol+oKKId}!ywQ0G6)2T zgn`Nv|LXj|Yytm2WZ^+j%_314Q1;{N0Zc0jdzMxRejS)qG+r9cumB)2Sj^cO20sfz zK@?&kpn6AQpd8RNE-L=$(x*3Jn7_Zxp_x{^iJD{QsAJG!je~zI}o`L1RE7g+gO7 zAV)CZISGXy!v80?{#Ab{e49Nx!J{xpG{_SS8YEIE3Od1ZWQU>qZP>0gD&)Gv$Pz0rBrO|I`#TUjEO96OAvhzgfWh{~!9%`2K$OF!+)M z(Tc{;A7{NoL%_+3hT!iQXAc8~{Bb?`n}0ME29ihohzp`0e@6plH5v*oPyFo?)KSs+ ziR&zb_{Ix>$_@>Ofd&wKHwIlr&~SWxp7joYW)OpL3>p*?{K)k$2LEUNLnENz6C&Us zCB(OP{69a>#27#2fQ_J0pfKTk?;kAu#s6P(0LT+O(;y@GP6RT7??fOY_+|fPkyykf&;wEUtVyAlAb3I!LqN#+`4w&{lK&qQ)7$z0 delta 12794 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 J@|p^y{|8t-r 0, 'maxWidth' => 0, 'titleGap' => 5, 'gap' => 5, 'xPos' => 'centre', 'xOrientation' => 'centre', 'minRowSpace' => -100, 'rowGap' => 2, 'colGap' => 5, 'splitRows' => 0, 'protectRows' => 1, 'nextPageY' => 0, /* other */ - 'showHeadings' => 1, 'cols' => array(), 'evenColumns' => 0, + 'showHeadings' => 1, 'cols' => array(), 'evenColumns' => 0, 'evenColumnsMin' => 20 ); foreach ($defaults as $key => $value) { @@ -1335,6 +1335,27 @@ public function ezTable(&$data, $cols = '', $title = '', $options = '') $pos['_end_'] = $t; } + // if the option is set to 2 and one of the columns is too narrow we need to look at recalculating the columns + if ($options['evenColumns'] == 2) { + $posVals = array(); + foreach ($pos as $w) { + array_unshift($posVals, $w); + } + $narrowestCol = 9999; + $last = array_pop($posVals); + while (sizeof($posVals)) { + $current = array_pop($posVals); + $currentWidth = $current - $last; + if ($narrowestCol > $currentWidth) { + $narrowestCol = $currentWidth; + } + $last = $current; + } + if ($narrowestCol < $options['evenColumnsMin']) { + $options['evenColumns'] = 1; + } + } + // if the option is turned on we need to look at recalculating the columns if ($options['evenColumns'] == 1) { // what is the maximum width? it is either specified or the page width between the margins diff --git a/src/Cpdf.php b/src/Cpdf.php index 299438c..cb62505 100644 --- a/src/Cpdf.php +++ b/src/Cpdf.php @@ -1050,7 +1050,7 @@ private function o_fontDescendentCID($id, $action, $options = '') $v = current($cid_widths); $k = key($cid_widths); - while($v) { + while ($v) { $nextv = next($cid_widths); $nextk = key($cid_widths);