PDF generator in webERP.

classic Classic list List threaded Threaded
32 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

PDF generator in webERP.

Rafael Chacón
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

phildaintree
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
If anyone is wondering about the persistently nasty comments made by Tim Schofield and wants the full story please see: http://timschofield.blogspot.com/ Hell hath no fury like a woman (or Tim) scorned
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers

PrintCustTransPortrait_AddTextWarp.pdf (95K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

phildaintree
we would not want to leave people on slow bandwidth connections with 2meg pdfs for a 10k report though
Phil

Phil Daintree
Logic Works Ltd - +64 (0)275 567890
http://www.logicworks.co.nz
On 11/02/15 16:38, 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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
If anyone is wondering about the persistently nasty comments made by Tim Schofield and wants the full story please see: http://timschofield.blogspot.com/ Hell hath no fury like a woman (or Tim) scorned
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Vitaly Shevkunov
In reply to this post by Rafael Chacón
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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
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 <[hidden email]>:
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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Andrew Galuski
In reply to this post by Rafael Chacón
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 <[hidden email]>:
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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
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 <[hidden email]>:
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 <[hidden email]>:
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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers

_AddTextWrapNEW.zip (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Vitaly Shevkunov
Rafael,

Your function looks much more readable than the original. I also like that it does splitting on the "\n" instead of relying on some external code to do that.
I will try it on my test system to see how much it will affect various forms.

So far I noticed that sometimes a text, pasted from the text editor, may have \r\n encoded as a text. It looks like that in PDF
line1\r\nline2\r\n
instead of
line1
line2

I would like to add this to you function to cover all possible line ending combinations

$text = str_replace('\r','',$text);  // single quotes - no string parsing in PHP
$text = str_replace('\n',"\n",$text); // replace '\n' text with new line character

Regards,

Vitaly

On 2/11/2015 4:44 PM, Rafael Chacón wrote:
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 <[hidden email]>:
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 <[hidden email]>:
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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
Hi Vitaly,

Thank you very much for you contribution.

I will add your lines to the function before send the update. Also, I will add:
* "Greater/Less than or equal to" comparisons instead of "Greater/Less than" to cover the possibility of exact matches (even character width are calculated at the level of 1/1000 dpi).
* The use of soft-hyphen instead of hard-hyphen as break points.
* Other contributions.

The problem that you points out, also occurs when null, line-feed, carriage-return, back-slash, single-quote, double-quotes, and control-Z are escaped. This occurs when we use functions like mysqli_real_escape_string() --e.g. inside of function DB_escape_string()--.

It is pending:
* The use of curly braces {} to access characters in a string. Some PHP's documents say that this syntax is deprecated, but other do not (ref: php.net/manual/de/language.types.string.php vs. php.net/manual/en/language.types.string.php). Also, we have concerns about how multi-byte safe is.

Best regards, Rafael.

2015-02-12 13:45 GMT-06:00 Vitaly Shevkunov <[hidden email]>:
Rafael,

Your function looks much more readable than the original. I also like that it does splitting on the "\n" instead of relying on some external code to do that.
I will try it on my test system to see how much it will affect various forms.

So far I noticed that sometimes a text, pasted from the text editor, may have \r\n encoded as a text. It looks like that in PDF
line1\r\nline2\r\n
instead of
line1
line2

I would like to add this to you function to cover all possible line ending combinations

$text = str_replace('\r','',$text);  // single quotes - no string parsing in PHP
$text = str_replace('\n',"\n",$text); // replace '\n' text with new line character

Regards,

Vitaly


On 2/11/2015 4:44 PM, Rafael Chacón wrote:
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 <[hidden email]>:
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 <[hidden email]>:
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 <[hidden email]>:
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Andrew Galuski
In reply to this post by Rafael Chacón

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

resmart_logo

 

From: Rafael Chacón [mailto:[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Andrew Galuski

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
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 <[hidden email]>:

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers

AddTextWrap (2015-02-12).php.zip (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Andrew Galuski

Thank you.  I was hoping to be able to fix my existing version although if I pointed out a small issue with your new version you were able to fix I think that is good too.

I will try the new version again however if blank spaces are gone I will not be able to use it, too much places to go add extra lines back in for readability.

 

 

Best Regards,

Andrew Galuski

ResMart LLC.

817.615.2038 (Office)

817.821.0544 (Cell)

www.resmart.com

resmart_logo

 

From: Rafael Chacón [mailto:[hidden email]]
Sent: Friday, February 13, 2015 1:53 PM
To: webERP Developers
Subject: Re: [WebERP-developers] PDF generator in webERP.

 

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 <[hidden email]>:

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
In reply to this post by Rafael Chacón
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('&nbsp;', 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 <[hidden email]>:
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 <[hidden email]>:

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Vitaly Shevkunov
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('&nbsp;', 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 <[hidden email]>:
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 <[hidden email]>:

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
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 <[hidden email]>:
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('&nbsp;', 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 <[hidden email]>:
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 <[hidden email]>:

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers

AddTextWrap (2015-02-13).php.zip (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Andrew Galuski
In reply to this post by Rafael Chacón

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

resmart_logo

 

From: Rafael Chacón [mailto:[hidden email]]
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('&nbsp;', 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 <[hidden email]>:

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 <[hidden email]>:

 

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers

 

 


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Web-erp-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Rafael Chacón
Hi Andrew:

Yes, AddTextWrap() is a nightmare. Besides the bugs I mentioned, there are other things that can create problems:

- $s{$i} and $s[$i] are not multi-byte safe. It is better to use: mb_substr($s, $i, 1, 'UTF-8'), with encoding included.

- Instead of $nb=mb_strlen($s), it is better to use $nb=mb_strlen($s, 'UTF-8'), with encoding included.

- Depending on PHP version, mb_internal_encoding('UTF-8') does not work as expected. Also other multi-byte functions (mb_substr, mb_strlen) do not work properly. See (as example): http://php.net/ChangeLog-5.php version 5.4.8 release notes.

I suggest you --if you want to keep this AddTextWrap()-- to replace all functions with multi-byte safe functions and to update php version (get late fixes to mb functions).

Best regards, Rafael.


2015-02-17 12:54 GMT-06:00 Andrew Galuski <[hidden email]>:

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

resmart_logo

 

From: Rafael Chacón [mailto:[hidden email]]
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('&nbsp;', 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 <[hidden email]>:

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 <[hidden email]>:

 

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers

 

 


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Web-erp-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers



------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Web-erp-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PDF generator in webERP.

Vitaly Shevkunov
In reply to this post by Rafael Chacón
Hi all,

Here some continuation on the printing adventures.
Tim suggested that some/most reports do not need to be rendered in PDF, but could be printed off the screen using Print button in the browser. To do that the layout of the page needs to be adjusted using a separate CSS file.
I have done a little research and created print.css file with the rules that apply only when the page is sent to the printer. It is done by specifying media="print" for the stylesheet.
The print.css hides the menus, header and the footer. In addition, anything that does not need to be printed, can be marked as class="noprint".

I modified the Balance Sheet, Income Statement and the Trial Balance to show how it is done.
The changes are in the trunk.

Hope you like it.

Vitaly


Hi,

Sorry by the delay, I was busy with an urgent invoice problem.

Tim: Thank you, very much, for the info about print stylesheets.
Vitaly: Thank you, very much, for the link.

Sounds interesting: write one code (report), generate to multiple media (outputs).
Also, no character encoding problems (using HTML entities instead) and can include rich format (HTML formatting tags).

I am thinking in:
(1) Make the code for all reports so that they are generated by a "screen" stylesheet to render the page in the browser window;
(2) In all reports include a button to print using a "print" stylesheet to render the page for a printer; and
(3) Create a print stylesheet "print.css";
(4) Re-create a Form Designer to modify the the main cascading style sheet (CSS for screen).

I agree that quotations and invoices are special cases. I need to generate PDFs to be sent by email. In this case, if no way, I prefer to use TCPDF (including generate barcodes).

Best regards, Rafael.

2015-02-16 14:16 GMT-06:00 Vitaly Shevkunov <[hidden email]>:
There is some guides on Internet on how to set up the print css. For example this one.
http://www.webcredible.com/blog-reports/css/print-stylesheet.shtml

I will try it here to see what I will get.

Vitaly

On 2/16/2015 3:58 AM, Tim Schofield wrote:
Hi Vitaly, yes you are correct it was the reports that I had in mind, for instance the trial balance where we maintain two completely separate pieces of code one for html and another for pdf.

However a simple html template for an invoice, and a css stylesheet to customise for each company should be a possibility? Putting together a form designer to dynamically change this css shouldn't be as big a problem as with a pdf.

Tim

On 15 February 2015 at 19:55, Vitaly Shevkunov <[hidden email]> wrote:
Tim,

The css printing is fine for general output. I am not sure it will work for creating specific forms, like quotations and invoices. My biggest challenge is how to allow the end user to customize their forms without php programming. If it could be done by using css, then I will be happy to start using it.
Does anybody know a good form designer that would be easy to use for an average person?

Vitalt


On 2/15/2015 4:20 AM, Tim Schofield wrote:
It is debatable whether we need to be generating pdf reports at all these days. You now have the option to use different css stylesheets depending upon the media that is being used to render the page. So you can have a "screen" stylesheet to render the page in the browser window, and a separate "print" stylesheet to render the page for a printer. This printer stylesheet would hide those elements not wanted in the printed output such as the menus and the footer etc, and all the user has to do is to press the print button in their browser to get a printed report.

This way we don't have to duplicate code for pdf and html output, and also the browsers rendering engine takes care of line wrapping etc making sure the output always looks good. No messing about with all those pdf fonts either.

If pdf output is still required browsers can still print to a pdf file.

Tim

On 14 February 2015 at 15:09, Rafael Chacón <[hidden email]> wrote:
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 <[hidden email]>:

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('&nbsp;', 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 <[hidden email]>:
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 <[hidden email]>:

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

resmart_logo

 

From: Andrew Galuski [mailto:[hidden email]]
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

resmart_logo

 

From: Rafael Chacón [[hidden email]]
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 <[hidden email]>:

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 <[hidden email]>:

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 <[hidden email]>:

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers




--
Course View Towers,
Plot 21 Yusuf Lule Road,
Kampala
T   +256 (0) 312 314 418
M +256 (0) 752 963 325
www.weberpafrica.com
Twitter: @TimSchofield2
Blog: http://weberpafrica.blogspot.co.uk/
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.5646 / Virus Database: 4284/9112 - Release Date: 02/14/15




--
Course View Towers,
Plot 21 Yusuf Lule Road,
Kampala
T   +256 (0) 312 314 418
M +256 (0) 752 963 325
www.weberpafrica.com
Twitter: @TimSchofield2
Blog: http://weberpafrica.blogspot.co.uk/

No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.5646 / Virus Database: 4284/9120 - Release Date: 02/15/15



No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.5646 / Virus Database: 4284/9126 - Release Date: 02/16/15


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Web-erp-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/web-erp-developers
12
Loading...