tags:

views:

307

answers:

3

In a web app developed in PHP we are generating Quotations and Invoices (which are very simple and of single page) using TCPDF lib.

The lib is working just great but it seems to generate very large PDF files. For example in our case it is generating PDF files as large as 4 MB (+/- a few KB).

How to reduce this bloating of PDF files generated by TCPDF?

Here is code snippet that I am using

ob_start();
                include('quote_view_bag_pdf.php'); //This file is valid HTML file with PHP code to insert data from DB
                $quote = ob_get_contents();  //Capture the content of 'quote_view_bag_pdf.php' file and store in variable

                ob_end_clean();

                //Code to generate PDF file for this Quote
                //This line is to fix a few errors in tcpdf
                $k_path_url='';


                require_once('tcpdf/config/lang/eng.php');
                require_once('tcpdf/tcpdf.php');

                // create new PDF document
                $pdf = new TCPDF();

                // remove default header/footer
                $pdf->setPrintHeader(false);
                $pdf->setPrintFooter(false); 

                // add a page
                $pdf->AddPage();

                // print html formated text
                $pdf->writeHtml($quote, true, 0, true, 0); //Insert Variables contents here.

                //Build Out File Name
                $pdf_out_file = "pdf/Quote_".$_POST['quote_id']."_.pdf";

                //Close and output PDF document
                $pdf->Output($pdf_out_file, 'F');
                $pdf->Output($pdf_out_file, 'I');
                ///////////////
enter code here

Hope this code fragment will give some idea?

A: 

You need to see what it is putting inside the PDF. Is it embedding lots of images or fonts?

You can examine the contents with lots of PDFtools. If you have Acrobat 9.0, there is a blog article showing how to do this at http://pdf.jpedal.org/java-pdf-blog/bid/10479/Viewing-PDF-objects

mark stephens
A: 

Finally I have managed to solve the problem.

The problem was that by mistake I had inserted a link to email id in the web page that was getting rendered to PDF. By just removing this link the size of the generated PDF went down to just 260 kb!

Thanks everyone who tried to help me out in solving this problem.

Yogi Yang 007
A: 

Current TCPDF version now includes font subsetting by default to dramatically reduce PDF size. Check the TCPDF website at http://www.tcpdf.org and consult the official forum for further information.

Thanks for this tip.
Yogi Yang 007