在一个用PHP开发的web应用程序中,我们使用TCPDF库生成报价和发票(非常简单,而且是单页的)。
lib运行得很好,但它似乎生成了非常大的PDF文件。例如,在我们的示例中,它生成的PDF文件大小为4MB (+/-几KB)。
如何减少由TCPDF生成的PDF文件的这种膨胀?
下面是我正在使用的代码片段
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希望这段代码能给我们一些启发?
发布于 2010-06-10 19:58:54
我终于设法解决了这个问题。
问题是我错误地在要渲染成PDF的网页中插入了一个指向电子邮件id的链接。通过删除这个链接,生成的PDF的大小就降到了260kb!
感谢每一个试图帮助我解决这个问题的人。
发布于 2010-06-10 14:49:26
您需要查看它在PDF中放入了什么内容。它是否嵌入了大量的图像或字体?
你可以用很多PDFtools来检查内容。如果你使用的是Acrobat9.0,在http://pdf.jpedal.org/java-pdf-blog/bid/10479/Viewing-PDF-objects上有一篇博客文章展示了如何做到这一点
发布于 2010-08-06 19:51:18
当前的TCPDF版本现在默认包括字体子设置,以显著减小PDF大小。请查看TCPDF网站http://www.tcpdf.org,并咨询官方论坛以了解更多信息。
https://stackoverflow.com/questions/2997974
复制相似问题