0

PHPで開発されたWebアプリでは、TCPDF libを使用して見積もりと請求書(非常にシンプルで単一ページ)を生成しています。

libはうまく機能していますが、非常に大きなPDFファイルを生成しているようです。たとえば、私たちの場合、4 MB(+/-数KB)のPDFファイルを生成しています。

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

このコードフラグメントがいくつかのアイデアを与えることを願っていますか?

4

3 に答える 3

0

現在のTCPDFバージョンには、PDFサイズを大幅に縮小するために、デフォルトでフォントサブセットが含まれるようになりました。詳細については、TCPDF Webサイト(http://www.tcpdf.org)を確認し、公式フォーラムを参照してください。

于 2010-08-06T11:51:18.330 に答える
0

あなたはそれがPDFの中に何を入れているかを見る必要があります。たくさんの画像やフォントを埋め込んでいますか?

たくさんのPDFtoolsで内容を調べることができます。Acrobat 9.0を使用している場合は、これを行う方法を示すブログ記事がhttp://pdf.jpedal.org/java-pdf-blog/bid/10479/Viewing-PDF-objectsにあります。

于 2010-06-10T06:49:25.860 に答える
0

ついに私は問題を解決することができました。

問題は、PDFにレンダリングされるWebページに誤って電子メールIDへのリンクを挿入してしまったことでした。このリンクを削除するだけで、生成されたPDFのサイズはわずか260kbになりました。

この問題を解決するのを手伝ってくれたすべての人に感謝します。

于 2010-06-10T11:58:54.040 に答える