From: Rafael C. <raf...@gm...> - 2015-02-14 15:10:08
|
Hi Vitaly, I am happy that this code helps you. About putting the $fill parameter back: I think it is possible, but we need help. I explain myself: * In ~/includes/class.pdf.php, in function AddTextWrap(), there are two additional parameters: $border and $fill. $border is "translated" to 'LTRB' and sets two variables: $b and $b2; but $border and $b2 are not used to produce any output. Also $fill do not produce any output (only is mentioned in the argument list). * In R&OS there are two other parameters: $angle and $test. Those parameters have no relation with $border and $fill. We just copy for compatibility. * R&OS deletes addTextWrap() in version 0.12.2 and recommends to "use addText instead". The version we have has a little documentation ($test = "need to store the initial text state, as this will change during the width calculation but will need to be re-set before printing, so that the chars work out right"). We are assuming that $border and $fill were included in ~/includes/class.pdf.php with the same purpose they have in ~/includes/tcpdf/tcpdf.php. For compatibility purposes, We leave $angle and $test as they are in original R&OS's AddTextWrap() function. We add $border and $fill as they are in original Nicola Asuni's TCPDF library. I enclose this update. Here, the direct use of Nicola Asuni's TCPDF library is preferred. I agree with that those functions have more features and the scripts will be faster, but I am not sure about implications of this for users (e.g. fixing the extra blank line bug). Best regards, Rafael. 2015-02-13 21:05 GMT-06:00 Vitaly Shevkunov <vsh...@so...>: > Hi Rafael, > > I applied your updated function to my code and started testing. So far I > like it very much. I does everything that I expected that function to do in > the first place. I found some problems in some of my forms, but not too > many. All of them due to my hacking, trying to get that function to do what > it was not doing before. > The only change I would make is to put the $fill parameter back. It is a > very useful feature for me. > > Thank you very much > > Vitaly > > On 2/13/2015 2:14 PM, Rafael Chacón wrote: > > Hi Andrew, > > Sorry, just I read you messages. > > Yes, as I said in previous messages, this new AddTextWrap fixes the extra > blank line bug. But if any user like this extra blank line bug, there is > lot of work adding a extra line to reports. > > About the problem with your text: > > I think the text does not wrap because it is using a non-breaking space > character instead of a white space character. > > A possible fix: > > $nbsp = html_entity_decode(' ', ENT_QUOTES, 'UTF-8');// Converts > non-breaking space HTML entity to their applicable character. > $text = str_replace($nbsp,' ',$text); > > Best regards, Rafael. > > 2015-02-13 13:53 GMT-06:00 Rafael Chacón <raf...@gm...>: > >> Hi, >> >> I enclose a uptdate to new addTextWrap. >> >> Changes: >> 1. Sets encoding 'UTF-8' in all multi-byte functions. >> 2. Adds the replace of '\n' text with a line feed character. This is to >> fix the possible introduction of a '\n' text instead of a line feed >> character. >> 3. Adds the delete of '\r' text. This is to fix the possible introduction >> of a '\r' text instead of a carriage return character. >> 4. Replaces hard hypen with soft hyphen as possible break position. >> 5. Privileges the use of mb_substr() instead of $text{$i} (deprecated? >> not multi-byte safe?) and $text[$i] (not multi-byte safe?). >> 6. Uses "greater than or equal to" comparison instead of "greater than" >> to cover the possibility of exact matches to exit for() loop. >> 7. Uses "less than or equal to" comparison instead of "less than" to >> cover the possibility of exact matches to exit for() loop. >> 8. Excludes the break character from the returned string. >> 9. Improves documentation and formatting. >> >> Best regards, Rafael. >> >> 2015-02-13 9:59 GMT-06:00 Andrew Galuski <aga...@re...>: >> >> Actually. >>> >>> My issue seems to be with special characters. Any help is appreciated. >>> I can’t seem to figure out why. >>> >>> This Doesn’t Wrap on the invoice >>> >>> TEST trademark ABC P-1700 CL 2612MPC >>> >>> >>> This does wrap (Much Shorter but Trademark sign inside of it). I don’t >>> want it to wrap. >>> >>> TEST ® ABC P-1700 CL 2612MPC >>> >>> >>> >>> I can make 1 modification that fixes it but I am unsure why it is needed >>> and again not sure of what else it will affect. >>> >>> Original code line 293 ‘while($i<$nb)’ >>> >>> This code fixes it ‘while($i<=$nb)’ >>> >>> >>> >>> where >>> >>> ‘$nb=mb_strlen($s);’ >>> >>> >>> >>> Ideas? >>> >>> >>> >>> >>> >>> Best Regards, >>> >>> Andrew Galuski >>> >>> ResMart LLC. >>> >>> 817.615.2038 (Office) >>> >>> 817.821.0544 (Cell) >>> >>> www.resmart.com >>> >>> [image: resmart_logo] >>> >>> >>> >>> *From:* Andrew Galuski [mailto:aga...@re...] >>> *Sent:* Friday, February 13, 2015 9:48 AM >>> >>> *To:* webERP Developers >>> *Subject:* Re: [WebERP-developers] PDF generator in webERP. >>> >>> >>> >>> The missing spaces would make me have to alter too many forms I believe >>> but it is nice work. >>> >>> I think locally I can fix my issue with another small change. >>> >>> >>> >>> Best Regards, >>> >>> Andrew Galuski >>> >>> ResMart LLC. >>> >>> 817.615.2038 (Office) >>> >>> 817.821.0544 (Cell) >>> >>> www.resmart.com >>> >>> [image: resmart_logo] >>> >>> >>> >>> *From:* Rafael Chacón [mailto:raf...@gm... >>> <raf...@gm...>] >>> *Sent:* Wednesday, February 11, 2015 4:45 PM >>> *To:* webERP Developers >>> *Subject:* Re: [WebERP-developers] PDF generator in webERP. >>> >>> >>> >>> Hi Andrew, >>> >>> I enclose my new AddTextWrap. Inside ~/includes/class.pdf.php, replace >>> AddTextWrap lines (80-169) with lines 3-66 of the included file. >>> >>> Comments: >>> * I'm testing with last version of Nicola Asuni's TCPDF. >>> * It is possible to replace line 56 ("$textwidth += >>> $this->GetStringWidth($c);") with two lines. Those two lines makes the >>> function a little faster in some cases ($text width near the cell width), >>> but slower in other cases ($text width far from the cell width). >>> >>> Best regards, Rafael. >>> >>> >>> >>> 2015-02-11 16:19 GMT-06:00 Andrew Galuski <aga...@re...>: >>> >>> I am trouble shooting the same problem today where it wraps text smaller >>> than the width. The added $s = trim($s).' ';" causes an issue for me. >>> Or you can change a do while loop from < to <= $nb and it appears to fix >>> same issue. My worry was testing all existing forms. If you can send me >>> your update I will test it in my environment for all my forms. >>> >>> >>> >>> Sent from my BlackBerry 10 smartphone on the Verizon Wireless 4G LTE >>> network. >>> >>> *From: *Rafael Chacón >>> >>> *Sent: *Wednesday, February 11, 2015 3:26 PM >>> >>> *To: *webERP Developers >>> >>> *Reply To: *webERP Developers >>> >>> *Subject: *Re: [WebERP-developers] PDF generator in webERP. >>> >>> >>> >>> Hi Vitaly, >>> >>> Thank you for writing. >>> >>> About >>> "$lines=explode("\r\n",htmlspecialchars_decode($myrow2['narrative']));": >>> This line returns an array of strings, each of which is a substring of >>> $myrow2['narrative'] formed by splitting it on boundaries formed by the >>> characters Carriage_Return ("\r") and Line_Feed ("\n"). It only works for >>> msWindows (Unix-like and Mac OS-10 use Line_Feed; Mac OS up to version 9 >>> uses Carriage_Return). >>> >>> The problem in PrintCustTransPortrait.php (and other reports) is caused >>> by two bugs in AddTextWarp(): >>> >>> 1. Line 108: "$s = trim($s).' ';" (extra blank character -> the extra >>> white line). >>> 2. Lines from 106 to 164: (the logic of the code -> splitting in the >>> last white_space of a segment smaller that the cell width). >>> >>> My purpose in asking if someone "has problem with this function (last >>> line line-feeded before the end) ?" is know who else experiences that >>> problem. >>> >>> I have a new AddTextWrap that fixes both bugs. It is faster and produces >>> PDF files with a slightly smaller size, but --obviously-- it not produce >>> the extra blank line in segments smaller than cell width. Many users like >>> this (no extra blank line) but there are some users who ask me to re-do >>> this extra blank line. >>> >>> I would like other people tests this new AddTextWrap. Although this >>> extra blank line is a bug, I am not comfortable with the idea of a >>> potential change in actual reports. >>> >>> Best regards, Rafael. >>> >>> >>> >>> 2015-02-11 8:25 GMT-06:00 Vitaly Shevkunov <vsh...@so...>: >>> >>> Rafael, >>> >>> The addTextWrap() does not split the line like that. It is done by this >>> function >>> $lines=explode("\r\n",htmlspecialchars_decode($myrow2['narrative'])); >>> >>> in PrintCustTransPortrait.php >>> >>> >>> Vitaly >>> >>> >>> >>> On 2/10/2015 9:38 PM, Rafael Chacón wrote: >>> >>> HI Phil, >>> >>> Thank you for your answer. >>> >>> Topic 1: From R&OS -> FPDF -> TCPDF. For future pdf development, I think >>> it will be better to directly use TCPDF: (a) Y-coordinate= instead of >>> calculating as from page-bottom to cell-bottom and the script class.pdf.php >>> translates to page-top to cell-top to use tcpdf.php, we can directly use >>> page-top to cell-top and TCPDF; (b) TCPDF has interesting functions >>> (writeHTML, writeHTMLCell, etc.) to write code html (a screen report) into >>> a pdf. >>> >>> Topic 2: tcpdf 6.2.6 has new fonts and others.They may be helpful to >>> give more options to reports. >>> >>> Topic 3: With PrintCustTransPortrait.php (and other reports) I have >>> unexpected breaks (see enclose) and prints lines with whitespace. The >>> problems are inside AddTextWarp(). >>> >>> Regards, Rafael. >>> >>> >>> >>> 2015-02-09 22:34 GMT-06:00 Phil Daintree <ph...@lo...>: >>> >>> Yes originally used R & OS pdf library. >>> Moved to Oliver Plathey FPDF http://www.fpdf.org/ >>> The class.pdf.php was created to allow the transition to FPDF >>> ... then to TCPDF which was a development of FPDF which allowed utf-8 >>> pdfs - using CID fonts rather than embedding a large monster font file into >>> each pdf - so a small 10k report becomes 2 Meg. This was not considered >>> acceptable. >>> I update tcpdf from time to time. >>> >>> Not sure about 3. >>> >>> Phil >>> >>> >>> >>> Phil Daintree >>> >>> Logic Works Ltd - +64 (0)275 567890 >>> >>> http://www.logicworks.co.nz >>> >>> On 10/02/15 13:37, Rafael Chacón wrote: >>> >>> Hi, >>> >>> Some questions: >>> >>> 1. webERP begun using PHP Pdf creation - R&OS ( >>> http://sourceforge.net/projects/pdf-php/). Then, webERP moved to TCPDF ( >>> http://www.tcpdf.org/). Javier de Lorenzo-Cáceres wrote >>> ~/includes/class.pdf.php to use TCPDF with "PHP_Pdf_creation_-_R&OS syntax" >>> (old code). Is it right? >>> >>> 2. Someone has updated the ~/includes/tcpdf folder with TCPDF version >>> 6.2.6 ? >>> >>> 3. Someone has replaced the function AddTextWarp() or has problem with >>> this function (last line line-feeded before the end) ? >>> >>> Best regards, Rafael. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Dive into the World of Parallel Programming. The Go Parallel Website, >>> >>> sponsored by Intel and developed in partnership with Slashdot Media, is your >>> >>> hub for all things parallel software development, from weekly thought >>> >>> leadership blogs to news, videos, case studies, tutorials and more. Take a >>> >>> look and join the conversation now. http://goparallel.sourceforge.net/ >>> >>> >>> >>> _______________________________________________ >>> >>> Web-erp-developers mailing list >>> >>> Web...@li... >>> >>> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Dive into the World of Parallel Programming. The Go Parallel Website, >>> sponsored by Intel and developed in partnership with Slashdot Media, is >>> your >>> hub for all things parallel software development, from weekly thought >>> leadership blogs to news, videos, case studies, tutorials and more. Take >>> a >>> look and join the conversation now. http://goparallel.sourceforge.net/ >>> _______________________________________________ >>> Web-erp-developers mailing list >>> Web...@li... >>> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Dive into the World of Parallel Programming. The Go Parallel Website, >>> >>> sponsored by Intel and developed in partnership with Slashdot Media, is your >>> >>> hub for all things parallel software development, from weekly thought >>> >>> leadership blogs to news, videos, case studies, tutorials and more. Take a >>> >>> look and join the conversation now. http://goparallel.sourceforge.net/ >>> >>> >>> >>> _______________________________________________ >>> >>> Web-erp-developers mailing list >>> >>> Web...@li... >>> >>> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >>> >>> >>> >>> No virus found in this message. >>> Checked by AVG - www.avg.com >>> Version: 2015.0.5646 / Virus Database: 4284/9096 - Release Date: 02/11/15 >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Dive into the World of Parallel Programming. The Go Parallel Website, >>> sponsored by Intel and developed in partnership with Slashdot Media, is >>> your >>> hub for all things parallel software development, from weekly thought >>> leadership blogs to news, videos, case studies, tutorials and more. Take >>> a >>> look and join the conversation now. http://goparallel.sourceforge.net/ >>> _______________________________________________ >>> Web-erp-developers mailing list >>> Web...@li... >>> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Dive into the World of Parallel Programming. The Go Parallel Website, >>> sponsored by Intel and developed in partnership with Slashdot Media, is >>> your >>> hub for all things parallel software development, from weekly thought >>> leadership blogs to news, videos, case studies, tutorials and more. Take >>> a >>> look and join the conversation now. http://goparallel.sourceforge.net/ >>> _______________________________________________ >>> Web-erp-developers mailing list >>> Web...@li... >>> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Dive into the World of Parallel Programming. The Go Parallel Website, >>> sponsored by Intel and developed in partnership with Slashdot Media, is >>> your >>> hub for all things parallel software development, from weekly thought >>> leadership blogs to news, videos, case studies, tutorials and more. Take >>> a >>> look and join the conversation now. http://goparallel.sourceforge.net/ >>> _______________________________________________ >>> Web-erp-developers mailing list >>> Web...@li... >>> https://lists.sourceforge.net/lists/listinfo/web-erp-developers >>> >>> >> > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming. The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > > > > _______________________________________________ > Web-erp-developers mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/web-erp-developers > > > > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2015.0.5646 / Virus Database: 4284/9102 - Release Date: 02/12/15 > > > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming. The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is > your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Web-erp-developers mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/web-erp-developers > > |