From: Andrew G. <aga...@re...> - 2015-02-17 18:54:42
|
My problem is actually that the variable $nb is set to mb_strlen($s);. Since the ® character is counted as 1 by mb_strlen nb ends up being 1 less than the actual string length. So when I iterate while $i<$nb I always end up with a break if I have a multibyte character in the string (even though it is short enough to fit). If I change to $nb=iconv_strlen($s); then $nb is equal to the actual string length and I fit on 1 line (but I no longer get the extra line after. I do get the extra line after if no multi-byte characters are in the string. I think I have been on this too long. Best Regards, Andrew Galuski ResMart LLC. 817.615.2038 (Office) 817.821.0544 (Cell) www.resmart.com<http://www.resmart.com> [resmart_logo] From: Rafael Chacón [mailto:raf...@gm...] Sent: Friday, February 13, 2015 2:14 PM To: webERP Developers Subject: Re: [WebERP-developers] PDF generator in webERP. 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...<mailto: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...<mailto: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<http://www.resmart.com> [resmart_logo] From: Andrew Galuski [mailto:aga...@re...<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<http://www.resmart.com> [resmart_logo] From: Rafael Chacón [mailto: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...<mailto: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...<mailto: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...<mailto: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...<mailto: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...<mailto: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...<mailto:Web...@li...> https://lists.sourceforge.net/lists/listinfo/web-erp-developers No virus found in this message. Checked by AVG - www.avg.com<http://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...<mailto: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...<mailto: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...<mailto:Web...@li...> https://lists.sourceforge.net/lists/listinfo/web-erp-developers |