TCPDF - Wie machen die das drucken schneller? Es ist sehr sehr langsam, 1320 records dauerte 40 Minuten
Zend framework, und TCPDF dies ist unter 40 Minuten, um drucken Sie den Test.pdf. Ich habe jetzt keine Ahnung, wie reduzieren Sie diese ungewöhnliche Zeit, um etwas normal?
set_time_limit(0);
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setLanguageArray($l);
$pdf->setFontSubsetting(true);
$pdf->SetFont('dejavusans', '', 8, '', true);
$pdf->AddPage();
/* Database mysql gives the records and it is wrapped with <table> */
$html = "<table>1310 records.... with some simple <tr><td></td></tr></table>";
$pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);
$pdf->Output('Test.pdf', 'I');
exit;
Follow-up: (Optimierung der Leistung)
1) php.ini:
memory_limit = 512M
max_execution_time = 0
2) Codeing
$pdf->setFontSubsetting(false); //true false
3) Debug zeigt, nach der Einnahme die ganze Zeit
$pdf->writeHTMLCell($w=0, $h=0, $x=", $y=", $html, $Grenze=0, $ln=1, $fill=0, $reseth=true, $align=", $autopadding=true);
Machst du eine SQL-Abfrage oder 1320 Abfragen in SQL?
Sollten Sie die Metrik, die Teil Ihrer Anwendung dauert wie lange, z.B. durch profiling den code. Sonst ist es allen zu raten.
siehe meine follow-up. Aber immer noch die gleiche.
Warum sind Sie das zuweisen von Werten zu Variablen auf, die den Aufruf der Methode? (Aufruf der Methode, die eine lange Zeit)
In meiner Erfahrung habe ich gefunden, MPDF (mpdf1.com/mpdf) viel schneller im Vergleich zu TCPDF. Beachten Sie, dass TCPDF LGPL in der Erwägung, dass MPDF ist GPL.
Sollten Sie die Metrik, die Teil Ihrer Anwendung dauert wie lange, z.B. durch profiling den code. Sonst ist es allen zu raten.
siehe meine follow-up. Aber immer noch die gleiche.
Warum sind Sie das zuweisen von Werten zu Variablen auf, die den Aufruf der Methode? (Aufruf der Methode, die eine lange Zeit)
In meiner Erfahrung habe ich gefunden, MPDF (mpdf1.com/mpdf) viel schneller im Vergleich zu TCPDF. Beachten Sie, dass TCPDF LGPL in der Erwägung, dass MPDF ist GPL.
InformationsquelleAutor YumYumYum | 2011-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da keine anderen Antworten vorliegt, würde ich empfehlen einen guten Blick auf MPDF (GPL), wie es viel schneller als mit TCPDF. Ich habe Operationen auf einem server, der dauerte ca drei Minuten mit TCPDF reduziert sich auf Sekunden mit MPDF. Ich würde nur davon ausgehen, dass einige format meiner HTML -> PDF wurde schlagen einige ineffiziente Funktion in der TCPDF.
Jedenfalls habe ich folgenden code, der mir geholfen konvertieren von HTML -> PDF.
Dieser code stellt eine PDF-Datei ausgegeben, die als herunterladbare Datei, die MPDF Dokumentation gibt viele andere Beispiele, um Ihre Bedürfnisse anzupassen.
Danke für den Vorschlag zum Wechsel von TCPDF, MPDF. Dabei reduziert die PDF-Erstellung Zeit an einem bestimmten doc von 240 Sekunden bis 7 Sekunden.
InformationsquelleAutor Peter Brooks
Verwenden wir
mpdf
vor allem, weil ich kann nur "sind" es, ohne installation.Es gab einige kleinere änderungen, die Hinzugefügt werden müssen, um php.ini, mbstring, denke ich.
Konnte ich den 75 Seiten pro minute bis zu 100 Seiten pro minute schrumpfen die HTML-ich war die Fütterung der
WriteHTML
verb. Wir haben noch keine Grafiken.Dann benutze ich
ghostscript
zu Sortieren und Katze PDF (15 Seiten oder so) pro person erhalten. , Katze Vorgang dauert etwa 3 Minuten pro 800-1000-Seiten, für die 50 oder 60 Menschen erhalten einen report zu einem Ziel.All dies auf einem Feld meist sitzen da und für nichts anderes.
InformationsquelleAutor Jim H
Eine der Ursachen für die TCPDF langsam könnte eingefügten Bilder von externen URLs. Die DNS-Auflösung und Download-nehmen Sie sich Zeit und verlangsamen die PDF-Generierung.
InformationsquelleAutor Jefferson Pugliese